applications.(app).instances.(instance).schedules : array
schedules: - days: '*' timeZone: Australia/Melbourne priority: 1 parameter: active value: "N" - days: '*' startTime: 11:00:00 endTime: 15:00:00 timeZone: Australia/Melbourne priority: 2 parameter: active value: "Y"
# All days days: * # Specific days days: MON,WED,FRI
The day the schedule applies to. Either
* to mark all days or a comma-separated string of short-form days to mark the exact days.
timeZone (string / tzdata format)
The timezone which the schedule applies for. A list of timezones can be found here.
startTime (string /HH:MM:SS format)
The time when the schedule becomes active.
endTime (string /HH:MM:SS format)
The time when the schedule is de-activated.
Range: 1 to 255 (inclusive)
The priority of the schedule in case there's an overlapping schedule.
The type of schedule. This is used by applications to determine the behaviour the schedule applies to.
The value relating to the parameter. This is fed into applications to assess the current state of the schedule.
Riberry provides two built-in dynamic schedulers:
DynamicQueues class can dynamically enable and disable specific Celery queues. The class only functions on the defined scalable Celery queues (
from riberry.celery.client.dynamic.parameters import DynamicQueues workflow = Workflow( ... scalable_queues=['celery', 'event'], dynamic_parameters=[DynamicQueues()] )
If an instance has a schedule with parameter
active and the value is
"N", the queues will be disabled. If all queues for the worker are disabled, the concurrency count will also be reduced to
0. This can provide considerable memory improvements, so it may be best to seperate out your scalable queues to separate workers.
DynamicConcurrency class can dynamically scale the concurrency of a worker. The class only functions on workers which have one or more the defined scalable Celery queues (
from riberry.celery.client.dynamic.parameters import DynamicConcurrency workflow = Workflow( ... scalable_queues=['celery', 'event'], dynamic_parameters=[DynamicConcurrency()] )