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.
The following table describes the configuration variables that can be used with the Scheduler component:
|Name of the Logger component to use
|The name of an existing Logger component
|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
|The processor affinity of the scheduler thread
|The number of the CPU to use in the range 0 to n
All the configuration variables are optional.
The following example configures a Scheduler component that is processed on CPU 11 with a priority of 99 and uses the logger Logger component: