20 hours agoWhen a worker times out, its active task is now re-queued master
Sybren A. Stüvel [Fri, 15 Feb 2019 16:03:15 +0000 (17:03 +0100)]
When a worker times out, its active task is now re-queued

This makes it possible for a worker to disappear from the planet and
still have the task finished by another worker.

For this to work, the `active_task_timeout_interval` setting must be
bigger than the `active_worker_timeout_interval` setting.

46 hours agoBumped version to 2.4-dev2
Sybren A. Stüvel [Thu, 14 Feb 2019 14:13:11 +0000 (15:13 +0100)]
Bumped version to 2.4-dev2

46 hours agoUpdated CHANGELOG.md
Sybren A. Stüvel [Thu, 14 Feb 2019 14:13:06 +0000 (15:13 +0100)]
Updated CHANGELOG.md

47 hours agoSoft-fail tasks when there are workers left to retry it
Sybren A. Stüvel [Thu, 14 Feb 2019 13:32:00 +0000 (14:32 +0100)]
Soft-fail tasks when there are workers left to retry it

When a Worker sends a task update with `status='failed'`, that status is
actually overridden by the Manager to `status='soft-failed'` if there is
a worker that is *not* blacklisted for that specific task type/job. This
happens until the soft-failing worker is actually blacklisted, in which
case it is assumed to be an issue with the worker. All the previously
soft-failed tasks are set to `'claimed-by-manager'` so that they can be
picked up by another worker.

2 days agoMore detailed testing of task updates when blacklisting
Sybren A. Stüvel [Thu, 14 Feb 2019 10:52:52 +0000 (11:52 +0100)]
More detailed testing of task updates when blacklisting

We now test the actually queued statuses, rather than just the queue size.
This didn't uncover any errors, but is a good preparation for introducing
new functionality in the future.

3 days agoBumped version to 2.4-dev1
Sybren A. Stüvel [Tue, 12 Feb 2019 14:06:25 +0000 (15:06 +0100)]
Bumped version to 2.4-dev1

3 days agoFix T59491: Manager should detect starvation due to blacklisting
Sybren A. Stüvel [Tue, 12 Feb 2019 13:40:41 +0000 (14:40 +0100)]
Fix T59491: Manager should detect starvation due to blacklisting

After blacklisting, the tasks failed by the blacklisted worker are now
only requeued if there is still a worker left who can execute it (based
on worker's supported task types + blacklist).

5 weeks agoSend "this log file does not exist" as log file when it doesn't exist.
Sybren A. Stüvel [Fri, 11 Jan 2019 17:20:24 +0000 (18:20 +0100)]
Send "this log file does not exist" as log file when it doesn't exist.

When the Server asks for a log file that does not exist, just create a
log file that states it does not exist, and send that. This makes the
Server stop asking us for that file over and over again.

5 weeks agoAdded missing return statement
Sybren A. Stüvel [Fri, 11 Jan 2019 16:48:45 +0000 (17:48 +0100)]
Added missing return statement

5 weeks agoBumped version to 2.4-dev0
Sybren A. Stüvel [Fri, 11 Jan 2019 10:06:18 +0000 (11:06 +0100)]
Bumped version to 2.4-dev0

5 weeks agoUpdated example config with more concrete variables
Sybren A. Stüvel [Fri, 11 Jan 2019 09:42:44 +0000 (10:42 +0100)]
Updated example config with more concrete variables

Especially the Blender location on macOS is now more realistic.

5 weeks agoBumped version to 2.3 v2.3
Sybren A. Stüvel [Thu, 10 Jan 2019 08:59:58 +0000 (09:59 +0100)]
Bumped version to 2.3

5 weeks agoUpload task log files when requested from the Flamenco Server
Sybren A. Stüvel [Wed, 9 Jan 2019 14:04:02 +0000 (15:04 +0100)]
Upload task log files when requested from the Flamenco Server

The server can pass us (job ID, task ID) tuples in the response of the
'task-update-batch' endpoint. These tuples are then used to find the
task's log file, compress it, and send it to the Flamenco Manager.

The queue of logfiles to send is maintained by the Server. This means
we'll repeatedly get the same (job ID, task ID) until we've actually
uploaded the logfile to the Server's satisfaction. As a result, we don't
persist the requested IDs, but rely on the server to pass us the list
again if need be.

5 weeks agoLess strict timeout checks
Sybren A. Stüvel [Wed, 9 Jan 2019 15:44:24 +0000 (16:44 +0100)]
Less strict timeout checks

This makes the unit test less likely to fail while the computer is already
doing other stuff.

5 weeks agoDon't pass pointer to array
Sybren A. Stüvel [Wed, 9 Jan 2019 13:20:01 +0000 (14:20 +0100)]
Don't pass pointer to array

Arrays are by-reference structures already, so no need to use pointers.

8 weeks agoDashboard: added checkbox to (de)select all workers
Sybren A. Stüvel [Tue, 18 Dec 2018 14:53:24 +0000 (15:53 +0100)]
Dashboard: added checkbox to (de)select all workers

8 weeks agoInclude ffmpeg variable in default settings
Sybren A. Stüvel [Tue, 18 Dec 2018 13:35:16 +0000 (14:35 +0100)]
Include ffmpeg variable in default settings

8 weeks agoDashboard: Fixed tiling issue on latest-image viewer
Sybren A. Stüvel [Tue, 18 Dec 2018 13:17:39 +0000 (14:17 +0100)]
Dashboard: Fixed tiling issue on latest-image viewer

8 weeks agoDashboard: Hide blacklist header when the blacklist is empty
Sybren A. Stüvel [Tue, 18 Dec 2018 11:20:48 +0000 (12:20 +0100)]
Dashboard: Hide blacklist header when the blacklist is empty

8 weeks agoDashboard: reduced number of columns in worker table
Sybren A. Stüvel [Tue, 18 Dec 2018 11:17:47 +0000 (12:17 +0100)]
Dashboard: reduced number of columns in worker table

The 'blacklist' toggle now toggles 'details' instead, which consists of the
blacklist and worker details (currently ID and Address).

8 weeks agoBumped version to 2.3-dev2
Sybren A. Stüvel [Tue, 18 Dec 2018 09:53:50 +0000 (10:53 +0100)]
Bumped version to 2.3-dev2

8 weeks agoUpdate changelog
Sybren A. Stüvel [Tue, 18 Dec 2018 09:53:41 +0000 (10:53 +0100)]
Update changelog

8 weeks agoFix T58779: allow lazy status change requests
Sybren A. Stüvel [Tue, 18 Dec 2018 09:51:55 +0000 (10:51 +0100)]
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.

2 months agoCompatibility with older MongoDB
Sybren A. Stüvel [Mon, 17 Dec 2018 16:18:05 +0000 (17:18 +0100)]
Compatibility with older MongoDB

2 months agoUpdate changelog
Sybren A. Stüvel [Mon, 17 Dec 2018 16:11:15 +0000 (17:11 +0100)]
Update changelog

2 months agoDashboard: make worker blacklist visible
Sybren A. Stüvel [Mon, 17 Dec 2018 16:08:13 +0000 (17:08 +0100)]
Dashboard: make worker blacklist visible

2 months agoVue.js: no need for `<tr is="worker-row">` in `<script>` template
Sybren A. Stüvel [Mon, 17 Dec 2018 14:16:47 +0000 (15:16 +0100)]
Vue.js: no need for `<tr is="worker-row">` in `<script>` template

The browser would pop out a `<worker-row>` element from a table because it
ejects all non-`<tr>` elements there. Apparently this doesn't happen when
the template is in a `<script type='text/x-template'>` tag, so we can

2 months agoFix T50981 Worker deallocation from job if fails n tasks
Sybren A. Stüvel [Mon, 17 Dec 2018 12:55:22 +0000 (13:55 +0100)]
Fix T50981 Worker deallocation from job if fails n tasks

When a Worker notifies the Manager a task failed, the number of failed
tasks of this worker, on this job, of the same task type as the
currently failed task is counted. If this count is above a threshold,
the (worker ID, job ID, task type) tuple is added to the blacklist. This
prevents the worker from getting such tasks. Matching failed tasks are
re-queued so that they can be executed by another worker.

This requies a new setting `blacklist_threshold`, which indicates the
number of failed tasks at which the above behaviour is triggered. It
defaults to 3. This means that it's likely that we should also increase
the TASK_FAIL_JOB_PERCENTAGE constant in Flamenco Server so that it's
more lenient towards failure (as excessive failure will trigger
requeueing anyway).

Note that there is NO starvation detection. In other words, if a job has
certain tasks that were failed by all available workers (and thus all
workers are blacklisted for this job & task type) there is no detection
that this happened. As a result, the job will be stuck in 'active'
status without it ever having a chance of being finished.

2 months agoIgnore files in default task logs directory
Sybren A. Stüvel [Mon, 17 Dec 2018 13:26:15 +0000 (14:26 +0100)]
Ignore files in default task logs directory

2 months agoFixed bug in sleep scheduler
Sybren A. Stüvel [Mon, 17 Dec 2018 13:26:08 +0000 (14:26 +0100)]
Fixed bug in sleep scheduler

It wouldn't handle implicit end times properly when computing the 'next
check' timestamp. They are now correctly interpreted as 'midnight the next

2 months agoDashboard: shortening more (time display + task ID)
Sybren A. Stüvel [Mon, 17 Dec 2018 13:05:08 +0000 (14:05 +0100)]
Dashboard: shortening more (time display + task ID)

2 months agoSleep scheduler: only log at debug level when there is nothing to do
Sybren A. Stüvel [Fri, 14 Dec 2018 15:38:45 +0000 (16:38 +0100)]
Sleep scheduler: only log at debug level when there is nothing to do

2 months agoFormatting
Sybren A. Stüvel [Fri, 14 Dec 2018 15:24:33 +0000 (16:24 +0100)]

2 months agoSorted services in main.go
Sybren A. Stüvel [Fri, 14 Dec 2018 14:41:02 +0000 (15:41 +0100)]
Sorted services in main.go

2 months agoReworked build-via-docker script to do a bit more in the Dockerfile
Sybren A. Stüvel [Fri, 14 Dec 2018 14:08:19 +0000 (15:08 +0100)]
Reworked build-via-docker script to do a bit more in the Dockerfile

The Dockerfile wasn't previously used for building Flamenco Manager (just
served as an example on how to run in Docker). Now it is used so that
certain steps can be cached as intermediary Docker image, speeding up

2 months agoMoved gossdp from GitHub to GitLab
Sybren A. Stüvel [Fri, 14 Dec 2018 12:53:13 +0000 (13:53 +0100)]
Moved gossdp from GitHub to GitLab

Our gossdp fork has moved from GitHub to the Blender Institute GitLab

2 months agoPrevent crash when starting without config
Sybren A. Stüvel [Fri, 14 Dec 2018 15:09:34 +0000 (16:09 +0100)]
Prevent crash when starting without config

2 months agoDashboard: delete empty time start/end JSON fields
Sybren A. Stüvel [Fri, 14 Dec 2018 11:12:38 +0000 (12:12 +0100)]
Dashboard: delete empty time start/end JSON fields

An empty string is an invalid value for a TimeOfDay field; it should be
null or simply not be in the JSON.

2 months agoDashboard: show implied schedule values between parentheses
Sybren A. Stüvel [Fri, 14 Dec 2018 11:11:59 +0000 (12:11 +0100)]
Dashboard: show implied schedule values between parentheses

2 months agoDashboard: easy copying of schedules
Sybren A. Stüvel [Fri, 14 Dec 2018 11:02:25 +0000 (12:02 +0100)]
Dashboard: easy copying of schedules

2 months agoDashboard: show implied values for sleep schedule
Sybren A. Stüvel [Fri, 14 Dec 2018 10:39:07 +0000 (11:39 +0100)]
Dashboard: show implied values for sleep schedule

2 months agoBumped version to 2.3-dev1
Sybren A. Stüvel [Fri, 14 Dec 2018 10:33:44 +0000 (11:33 +0100)]
Bumped version to 2.3-dev1

2 months agoSchedule is now event-based and can be temporarily overridden
Sybren A. Stüvel [Fri, 14 Dec 2018 10:32:17 +0000 (11:32 +0100)]
Schedule is now event-based and can be temporarily overridden

The schedule now only works at the schedule edges (so start/end of sleep
time) instead of all the time. As a result, the worker will still sleep
and wake up on the scheduled times, but can still be sent to sleep/wake
manually without influencing the scheduler.

(e.g. previously manually setting the status would deactivate the schedule;
this no longer happens).

2 months agoLog Server URL at info level at startup
Sybren A. Stüvel [Fri, 14 Dec 2018 10:21:57 +0000 (11:21 +0100)]
Log Server URL at info level at startup

2 months agoLess verbose logging while testing
Sybren A. Stüvel [Fri, 14 Dec 2018 10:21:37 +0000 (11:21 +0100)]
Less verbose logging while testing

2 months agoDashboard: fixed font size for html+body elements
Sybren A. Stüvel [Thu, 13 Dec 2018 17:15:34 +0000 (18:15 +0100)]
Dashboard: fixed font size for html+body elements

Without this Chrome has too large a font to show all worker info on one

2 months agoDashboard: Added icon for test job
Sybren A. Stüvel [Thu, 13 Dec 2018 17:15:02 +0000 (18:15 +0100)]
Dashboard: Added icon for test job

2 months agoDashboard: added link to task on Flamenco Server
Sybren A. Stüvel [Thu, 13 Dec 2018 17:14:46 +0000 (18:14 +0100)]
Dashboard: added link to task on Flamenco Server

The link was lost in the migration to Vue.js

2 months agoDashboard: schedule GUI improvements
Sybren A. Stüvel [Thu, 13 Dec 2018 16:28:58 +0000 (17:28 +0100)]
Dashboard: schedule GUI improvements

2 months agoDeactivate sleep schedule when explicitly changing the worker state
Sybren A. Stüvel [Thu, 13 Dec 2018 16:04:55 +0000 (17:04 +0100)]
Deactivate sleep schedule when explicitly changing the worker state

2 months agoSleep Schedule implementation
Sybren A. Stüvel [Thu, 13 Dec 2018 09:48:41 +0000 (10:48 +0100)]
Sleep Schedule implementation

Each worker now has a sleep schedule, which behaves in the following

- When the schedule is not active, it doesn't influence the worker at
- 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

2 months agoUpgraded GorillaMux to 1.6.2 + auto-upgraded other dependencies
Sybren A. Stüvel [Thu, 13 Dec 2018 11:10:34 +0000 (12:10 +0100)]
Upgraded GorillaMux to 1.6.2 + auto-upgraded other dependencies

We need it for the `mux.SetURLVars()` test helper function.

2 months agoFixed compiler warnings
Sybren A. Stüvel [Thu, 13 Dec 2018 09:57:26 +0000 (10:57 +0100)]
Fixed compiler warnings

Since Go 1.4 this shorter notation was already allowed, now we actually
get a warning about it.

2 months agoRenamed 'reporter' to 'dashboard'
Sybren A. Stüvel [Thu, 13 Dec 2018 09:51:33 +0000 (10:51 +0100)]
Renamed 'reporter' to 'dashboard'

We call it 'dashboard' everywhere, so now the code is on par with that.

2 months agoAdded missing comment
Sybren A. Stüvel [Thu, 13 Dec 2018 09:48:12 +0000 (10:48 +0100)]
Added missing comment

2 months agoDashboard: moved worker table to its own Vue component
Sybren A. Stüvel [Wed, 12 Dec 2018 14:03:07 +0000 (15:03 +0100)]
Dashboard: moved worker table to its own Vue component

2 months agoDashboard: proper error message when an action request fails
Sybren A. Stüvel [Wed, 12 Dec 2018 13:42:10 +0000 (14:42 +0100)]
Dashboard: proper error message when an action request fails

2 months agoDashboard: use Vue shortcuts in attribute names
Sybren A. Stüvel [Wed, 12 Dec 2018 13:36:22 +0000 (14:36 +0100)]
Dashboard: use Vue shortcuts in attribute names

So `v-bind:xxx` → `:xxx` and `v-on:xxx` → `@xxx`.

2 months agoDashboard: Reinstated per-worker action buttons
Sybren A. Stüvel [Wed, 12 Dec 2018 13:35:08 +0000 (14:35 +0100)]
Dashboard: Reinstated per-worker action buttons

Andy likes them better for performing actions on only a few workers.

2 months agoDashboard: specify types for Vue component props
Sybren A. Stüvel [Wed, 12 Dec 2018 13:33:11 +0000 (14:33 +0100)]
Dashboard: specify types for Vue component props

2 months agoUpgrade Go 1.10 → 1.11
Sybren A. Stüvel [Wed, 12 Dec 2018 11:33:06 +0000 (12:33 +0100)]
Upgrade Go 1.10 → 1.11

2 months agoDashboard: store selected worker IDs in local storage
Sybren A. Stüvel [Wed, 12 Dec 2018 10:54:43 +0000 (11:54 +0100)]
Dashboard: store selected worker IDs in local storage

This allows a user to refresh the page and retain the selection.

2 months agoBig modernisation steps (bootstrap 4 + Vue.js):
Sybren A. Stüvel [Tue, 11 Dec 2018 11:29:28 +0000 (12:29 +0100)]
Big modernisation steps (bootstrap 4 + Vue.js):

- Bootstrap 4
- Rendering the dashboard with Vue.js instead of constructing the HTML
  with jQuery.

2 months agoAdded config for run mode (develop/production)
Sybren A. Stüvel [Wed, 12 Dec 2018 10:34:18 +0000 (11:34 +0100)]
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.

2 months agoBumped version to 2.3-dev0
Sybren A. Stüvel [Tue, 11 Dec 2018 17:04:51 +0000 (18:04 +0100)]
Bumped version to 2.3-dev0

2 months agoBumped version to 2.2.1 v2.2.1
Sybren A. Stüvel [Fri, 7 Dec 2018 16:40:07 +0000 (17:40 +0100)]
Bumped version to 2.2.1

2 months agoUpdated changelog
Sybren A. Stüvel [Tue, 4 Dec 2018 15:31:06 +0000 (16:31 +0100)]
Updated changelog

2 months agoBumped version to 2.2.1-dev1
Sybren A. Stüvel [Tue, 4 Dec 2018 15:30:19 +0000 (16:30 +0100)]
Bumped version to 2.2.1-dev1

2 months agoUse "active" → statusActive
Sybren A. Stüvel [Tue, 4 Dec 2018 15:08:09 +0000 (16:08 +0100)]
Use "active" → statusActive

2 months agoRefuse to let the Worker set a task status to 'active'
Sybren A. Stüvel [Tue, 4 Dec 2018 15:07:25 +0000 (16:07 +0100)]
Refuse to let the Worker set a task status to 'active'

The scheduler sets the task to 'active' when it is assigned to a worker.
This should be the only code that activates a task; previously the Worker
was allowed to do this, which means that returning a task to 'queued' and
then flushing old updates from a Worker could inadvertently reactivate the
task and cause a timeout.

2 months agoWorker sign-off: only queue 'asleep' status when no other status requested
Sybren A. Stüvel [Tue, 4 Dec 2018 13:41:01 +0000 (14:41 +0100)]
Worker sign-off: only queue 'asleep' status when no other status requested

This fixes the following case:

  - On the Manager Dashboard a user wakes up the Worker.
  - Before the Worker sees this requested status change, it shuts down.
  - When starting up again, the Worker should become awake (as requested).
    Previously the Worker would go back to status 'asleep' (the status it
    had before shutting down).

2 months agoAllow settings task logs path in web setup v2.2
Sybren A. Stüvel [Tue, 4 Dec 2018 10:58:49 +0000 (11:58 +0100)]
Allow settings task logs path in web setup

2 months agoAdd task_logs_path to example config file
Sybren A. Stüvel [Tue, 4 Dec 2018 10:51:16 +0000 (11:51 +0100)]
Add task_logs_path to example config file

2 months agoMark version 2.2 as released
Sybren A. Stüvel [Tue, 4 Dec 2018 10:48:23 +0000 (11:48 +0100)]
Mark version 2.2 as released

2 months agoBumped version to 2.2
Sybren A. Stüvel [Tue, 4 Dec 2018 10:47:53 +0000 (11:47 +0100)]
Bumped version to 2.2

2 months agoUpdated CHANGELOG and ENDPOINTS documentation
Sybren A. Stüvel [Tue, 4 Dec 2018 09:32:09 +0000 (10:32 +0100)]
Updated CHANGELOG and ENDPOINTS documentation

2 months agoAllow task log download from the dashboard
Sybren A. Stüvel [Fri, 30 Nov 2018 16:29:46 +0000 (17:29 +0100)]
Allow task log download from the dashboard

2 months agoOnly send the last 10 lines of log in `log_tail`, not in `log`
Sybren A. Stüvel [Fri, 30 Nov 2018 16:16:37 +0000 (17:16 +0100)]
Only send the last 10 lines of log in `log_tail`, not in `log`

This lets the Server know those lines are for overwriting, not for
appending to the task log.

2 months agoHTTP endpoint for getting task logs at /logfile/{job-id}/{task-id}
Sybren A. Stüvel [Fri, 30 Nov 2018 16:09:50 +0000 (17:09 +0100)]
HTTP endpoint for getting task logs at /logfile/{job-id}/{task-id}

No HTTP stream compression yet; probably it'll be better to just serve
the file as-is. We can compress on the filesystem later, and detect whether
the filename ends in `.gz` to send the correct HTTP headers.

2 months agoRotate log files when tasks become active
Sybren A. Stüvel [Fri, 30 Nov 2018 15:15:31 +0000 (16:15 +0100)]
Rotate log files when tasks become active

Every time a task goes from non-active to active, its log files are
rotated. There is no compression and no clean-up of old files yet.

2 months agoAdded unit test for log rotation (no implementation yet)
Sybren A. Stüvel [Fri, 30 Nov 2018 10:27:03 +0000 (11:27 +0100)]
Added unit test for log rotation (no implementation yet)

2 months agoDeduplicated some test code into a single function
Sybren A. Stüvel [Fri, 30 Nov 2018 10:25:27 +0000 (11:25 +0100)]
Deduplicated some test code into a single function

2 months ago"statuses" → "task statuses"
Sybren A. Stüvel [Fri, 30 Nov 2018 10:25:51 +0000 (11:25 +0100)]
"statuses" → "task statuses"

2 months agoAdded some tests for newline handling
Sybren A. Stüvel [Fri, 30 Nov 2018 09:48:26 +0000 (10:48 +0100)]
Added some tests for newline handling

2 months agoWrite task logs to local files instead of sending them all to the Server
Sybren A. Stüvel [Thu, 29 Nov 2018 17:31:24 +0000 (18:31 +0100)]
Write task logs to local files instead of sending them all to the Server

The logs aren't compressed yet when a task is finished; they now simply
sit as plain text on the filesystem.

2 months agoMoved task queue functionality into a TaskUpdateQueue struct
Sybren A. Stüvel [Thu, 29 Nov 2018 17:23:59 +0000 (18:23 +0100)]
Moved task queue functionality into a TaskUpdateQueue struct

This allows us to pass less function params in the future (in a future
commit we also need the config).

2 months agoSome extra documentation
Sybren A. Stüvel [Thu, 29 Nov 2018 17:24:06 +0000 (18:24 +0100)]
Some extra documentation

2 months agoBumped version to 2.2-dev2
Sybren A. Stüvel [Thu, 29 Nov 2018 10:29:15 +0000 (11:29 +0100)]
Bumped version to 2.2-dev2

2 months agoAllow Workers to return tasks to the queue
Sybren A. Stüvel [Thu, 29 Nov 2018 10:20:27 +0000 (11:20 +0100)]
Allow Workers to return tasks to the queue

This is a step toward responding to job priority changes while the job is
already running. The Manager could force the worker to abort the task and
return it to the queue, and then it would give the worker the new task.

2 months agoAdd HTTP Content-Type header + better code coverage
Sybren A. Stüvel [Thu, 29 Nov 2018 09:30:27 +0000 (10:30 +0100)]
Add HTTP Content-Type header + better code coverage

2 months agoMoved task-requeueing to TaskScheduler
Sybren A. Stüvel [Wed, 28 Nov 2018 16:16:58 +0000 (17:16 +0100)]
Moved task-requeueing to TaskScheduler

Requeueing a task should be done by the scheduler (and it is now), rather
than in the WorkerSignOff function. Now will also be usable in other cases.

2 months agoDon't queue address-of-pointer, just use the pointer
Sybren A. Stüvel [Wed, 28 Nov 2018 16:15:35 +0000 (17:15 +0100)]
Don't queue address-of-pointer, just use the pointer

2 months agoRemoved FFmpeg installation instruction; it's not used by Manager
Sybren A. Stüvel [Fri, 23 Nov 2018 15:24:48 +0000 (16:24 +0100)]
Removed FFmpeg installation instruction; it's not used by Manager

It's used by the Workers, but that's another README.md file. The mention
of the ffmpeg configuration variable is still in our README.md.

2 months agoInclude example configuration for the ffmpeg variable + mention in README
Sybren A. Stüvel [Fri, 23 Nov 2018 14:42:35 +0000 (15:42 +0100)]
Include example configuration for the ffmpeg variable + mention in README

2 months agoBumped version to 2.2-dev1
Sybren A. Stüvel [Thu, 22 Nov 2018 15:12:12 +0000 (16:12 +0100)]
Bumped version to 2.2-dev1

2 months agoSend the set of task types supported by our workers to Flamenco Server
Sybren A. Stüvel [Thu, 22 Nov 2018 12:38:22 +0000 (13:38 +0100)]
Send the set of task types supported by our workers to Flamenco Server

This will allow the Server to tailor some variable jobs to the capabilities
of the farm.

2 months agostartup_notification.go → upstream_notification.go
Sybren A. Stüvel [Thu, 22 Nov 2018 09:28:30 +0000 (10:28 +0100)]
startup_notification.go → upstream_notification.go

2 months agoRename StartupNotifier → UpstreamNotifier
Sybren A. Stüvel [Thu, 22 Nov 2018 09:24:58 +0000 (10:24 +0100)]
Rename StartupNotifier → UpstreamNotifier

We're going to send more notifications, which are similar in payload to the
startup notification, but with different semantics (change in configuration
rather than change in life cycle), so the name had to change.

Another commit will rename the files.

2 months agoReduced log level of timer shutdown message
Sybren A. Stüvel [Thu, 22 Nov 2018 11:43:27 +0000 (12:43 +0100)]
Reduced log level of timer shutdown message

2 months agoFixed warning about superfluous type declaration
Sybren A. Stüvel [Thu, 22 Nov 2018 12:38:26 +0000 (13:38 +0100)]
Fixed warning about superfluous type declaration