Workers
Under the Workers section of your Unmanic settings you will find configuration options for managing worker groups, scheduling, and cache settings.
Worker Groups
Worker groups allow you to organize your workers and control which tasks they process using tags. Each group has its own worker count and can be assigned tags that determine which libraries' tasks the workers will process.
Creating a Worker Group
Click the + button at the bottom of the worker groups list to create a new group. Each worker group has the following settings:
- Name: A friendly name for the group (auto-generated if left blank)
- Worker Count: The number of concurrent workers in this group (0-12)
- Tags: Tags used to match this group with libraries (see Tag Matching below)
- Lock: Prevent accidental deletion of the group
For most people, there is no benefit to running more than 3-5 workers total across all groups. Depending on the type of tasks you carry out, you may find diminishing returns increasing this value beyond 5.
It is recommended to start with one worker initially, and then increase this value slowly until you find the right balance of system resource use and task processing speed.
Tag Matching
Tags create a powerful system for routing tasks to specific worker groups. The matching rules are:
- If a worker group has tags: Workers in that group will only pick up tasks from libraries that share at least one matching tag
- If a worker group has no tags: Workers will only pick up tasks from libraries that also have no tags
This allows you to create specialized processing workflows. For example:
- A worker group tagged
gpucan process tasks only from libraries also taggedgpu - A worker group tagged
4kandhdrcan handle tasks from libraries with either the4korhdrtag - An untagged worker group processes tasks from untagged libraries
Library tags are configured in the library settings. See Configuring Libraries for details.
Example Use Cases
GPU vs CPU Processing
Create two worker groups:
- Group "GPU Workers" with 2 workers and tag
gpu - Group "CPU Workers" with 4 workers and no tags
Then tag libraries containing large files with gpu to route them to GPU-accelerated encoding, while smaller files go to CPU workers.
Separate Processing Pipelines
Create worker groups for different media types:
- Group "Movies" with tag
movies - Group "TV Shows" with tag
tv - Group "Music" with tag
music
Each group can have different worker counts optimized for the typical task duration of that media type.
Worker Event Schedule
Each worker group can have its own event schedule that modifies the state of workers at specified times.
Adding an Event
An event is configured to trigger at a repeating time. It may be configured to:
- Set the worker count
- Pause all workers
- Resume all workers
Scheduling the worker count to reduce at a specified time will trigger the configuration change at that exact time. However, if all workers are currently processing tasks, the actual worker count will not reduce until the next worker becomes idle, at which point it will be terminated.
Setting the Event Order
The configured worker events are executed from top to bottom. In some cases, you may wish for one event to come after another.
This can be achieved by dragging the items in the list of configured events into order that suits your needs.
Example Schedule
To reduce system load during work hours:
- Daily at 08:00 - Set worker count to 1
- Daily at 18:00 - Set worker count to 4
- Weekend at 00:00 - Set worker count to 6
Cache Path
Set the location of the cache where task files will be temporarily stored while workers are carrying out jobs on them.
For faster processing of I/O bound tasks, such as video encoding, try setting this to a tmpfs (RAM).
However, if you do this you will need to ensure that enough RAM is available to store the average file size times the number of workers that you are running across all groups.