Skip to content

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"
}