Scheduler Component
The Scheduler component schedules jobs. Jobs can be configured to run, as follows:
- At a specific start time
- For a specific number of repeats. By default, the job is repeated infinitely
- At a specific repeat interval
- Optionally, with a set priority
A main scheduler thread defines the schedule processing. When the scheduler is configured with priority or processor affinity, a real-time thread is used with FIFO scheduling.
Schedules can be configured to use an associated thread pool to create the threads processing the scheduled function. If a schedule has been created with a priority, all pool handling threads run at the specified priority.
Configuration
The following table describes the configuration variables that can be used with the Scheduler component:
Name | Type | Description | Valid Values |
---|---|---|---|
Logger | String | Name of the Logger component to use | The name of an existing Logger component |
Priority | Integer | The priority of the scheduler thread |
The range is system-dependent
For example on Linux it is usually between 1 and 100 with 1 being the lowest priority and 100 being the highest priority |
Affinity | Integer | The processor affinity of the scheduler thread | The number of the CPU to use in the range 0 to n |
Note
All the configuration variables are optional.
Example Configuration
The following example configures a Scheduler component that is processed on CPU 11 with a priority of 99 and uses the logger Logger component:
{
"Affinity": 11,
"Priority": 99,
"Logger": "logger"
}