3.8 KiB

title
Worker Actions

The Worker Actions menu can be found in the Workers tab of Flamenco Manager's web interface. By default it shows Choose an action..., and the Apply button will be disabled until a specific action is chosen.

Screenshot of the Worker Actions menu in the Flamenco Manager web interface

The available actions are:

Menu Item Effect
Shut Down (after task is finished) Wait until the current task is done, then stop the worker. It will exit with status code 0, indicating a clean shutdown.
Shut Down (immediately) Abort the current task, and return it to the Manager for requeueing. Then stop the worker process like described above.
Restart (after task is finished)* Wait until the current task is done, then stop the worker. It will exit with the configured status code, indicating a desire to restart.
Restart (immediately)* Abort the current task, and return it to the Manager for requeueing. Then restart the worker process like described above.
Send to Sleep (after task is finished) Let the worker sleep after finishing its current task.
Send to Sleep (immediately) Let the worker sleep immediately. Its current task is aborted and requeued by the Manager.
Wake Up Wake the worker up. A sleeping worker can take a minute to respond.

* The 'Restart' options are only available when the selected worker is marked as 'restartable'. See below.

Shut Down & Restart actions

Both the 'Shut Down' and 'Restart' actions stop the Worker process.

Shutting down the worker will make it exit succesfully, with status code 0.

Restarting the worker is only possible if it was started or configured with a 'restart exit code'. This can be done by using the -restart-exit-status 47 commandline option, or by settings this code in the [worker config file][wconfig]. Requesting a worker restart will make it exit with the configured status code.

It is up to the process management system (for example [systemd][systemd]) to respond to these exit status code correctly. Here is an example systemd service unit file that shows how to set this up on Linux:

[Unit]
Description=Flamenco Worker connecting to Manager on localhost
Documentation=https://localhost:8080/
After=network.target

[Service]
Type=simple
CPUSchedulingPolicy=idle
Nice=19

WorkingDirectory=/home/flamenco
# Tell the Worker that it should exit with status code 47 in order to restart.
ExecStart=/home/flamenco/flamenco-worker -manager http://localhost:8080/ -restart-exit-code 47

User=flamenco
Group=flamenco

# Make systemd restart the service on exit code 47, as well as
# 'failure' codes (such as hard crashes).
RestartForceExitStatus=47
Restart=on-failure

EnvironmentFile=-/etc/default/locale

[Install]
WantedBy=multi-user.target

[wconfig]: {{< ref "/usage/worker-configuration" >}} [systemd]: https://systemd.io/

{{< hint type=note >}} The 'Shut Down' and 'Restart' actions only relate to the Flamenco Worker process. They do not shut down or restart the computer itself. {{< /hint >}}