Commit Graph

19 Commits

Author SHA1 Message Date
Sybren A. Stüvel cfe561c79e Fix T58779: allow lazy status change requests
Status changes can now be marked as 'lazy', in which case they are only
applied when the worker has finished its current task. This only required
changes to the 'may-I-run' endpoint; it now ignores lazy requests.
2018-12-18 10:51:55 +01:00
Sybren A. Stüvel f15e445baa Dashboard: make worker blacklist visible 2018-12-17 17:08:17 +01:00
Sybren A. Stüvel 6f1c86f940 Dashboard: show implied schedule values between parentheses 2018-12-14 12:11:59 +01:00
Sybren A. Stüvel 8bb2d6e77a Dashboard: fixed font size for html+body elements
Without this Chrome has too large a font to show all worker info on one
line.
2018-12-13 18:15:40 +01:00
Sybren A. Stüvel a0dfa1d0ad Dashboard: schedule GUI improvements 2018-12-13 17:28:58 +01:00
Sybren A. Stüvel 7680c65daf Sleep Schedule implementation
Each worker now has a sleep schedule, which behaves in the following
way:

- When the schedule is not active, it doesn't influence the worker at
  all.
- When the schedule is active, the worker is requested to be active by
  default, unless the schedule allows it to sleep.
- When the schedule has 'days of week' set to a non-empty string, the
  worker is only sent to sleep on those days. When 'days of week' is
  empty, the worker is allowed to sleep on every day.
- The worker is allowed to sleep between the schedule's start and end
  time. Those times default to respectively the start and end of the
  day.
2018-12-13 16:49:34 +01:00
Sybren A. Stüvel 98a4e2ecf1 Big modernisation steps (bootstrap 4 + Vue.js):
- Bootstrap 4
- Rendering the dashboard with Vue.js instead of constructing the HTML
  with jQuery.
2018-12-12 12:10:54 +01:00
Sybren A. Stüvel 704e0a08c8 Added config for run mode (develop/production)
This allows us to load minified JS files by default and switch to more
dev-friendly versions while developing.
2018-12-12 11:39:12 +01:00
Sybren A. Stüvel e751154b0a Support worker status 'error'
This is used by the worker when its pre-task sanity check fails.
2018-11-12 12:39:12 +01:00
Sybren A. Stüvel 57b18f95b8 Dashboard: Nicer styling of status 2018-09-11 19:30:43 +02:00
Sybren A. Stüvel 2ce108a891 Allow erasing idle workers from the dashboard 2018-02-20 14:54:52 +01:00
Sybren A. Stüvel 812d3d4d50 More Firefox fixes on latest image 2018-02-09 11:55:06 +01:00
Sybren A. Stüvel cf4dfd9692 Limit display height of last-rendered image to 300 pixels. 2018-02-09 11:40:29 +01:00
Sybren A. Stüvel e7193b6a54 Added support for worker status 'testing'
In this status, workers will not go to 'awake' when they ask for a task or
acknowledge they are working on a task by calling /may-i-run.
2017-12-14 14:57:18 +01:00
Sybren A. Stüvel 3b9e0a50d1 Fixed table stripes CSS 2017-10-20 14:39:13 +02:00
Sybren A. Stüvel b233b8abcf Dashboard: Show offline workers with darker font colour 2017-10-20 13:32:18 +02:00
Sybren A. Stüvel 01860e221e Added ability to send workers to sleep (and wake them up again)
When a status change is requested, /may-i-run/{task-id} and /task will
refuse the worker to run the task or get a new one. The newly requested
status is returned instead. This keeps happening until the worker
acknowledges the new status by a call to /ack-status-change/{ack-status}.

A sleeping worker can still get a task; there is no status checks on that.
The worker will just be marked as active then. It is up to the worker to
adhere to the status given by the Manager.

The worker can poll /status-change while sleeping to know when to wake up.
In a later version we possibly could turn this into a long poll.
2017-10-19 18:55:12 +02:00
Sybren A. Stüvel 0d868d0822 Made the colour scheme of the web interface a bit more muted. 2017-10-05 10:44:52 +02:00
Sybren A. Stüvel 64c8ede727 Changed project file layout to be standard golang project layout
This means a bit more adjustment on the part of developers that aren't
familiar with how Go does things, but it makes it more consistent and
easier to work with when on multiple Go projects.
2017-10-03 12:01:06 +02:00