taskiq-scheduler
Requires TaskIQ 0.11+ and <1, Python 3.11+. See the compatibility matrix for the full pin string.
Install
Section titled “Install”pip install z4j-taskiqschedulerOperations
Section titled “Operations”The adapter advertises list and read. The standard
LabelScheduleSource is decorator-defined, so create, update, delete,
enable, disable, and trigger-now are absent. A direct delete method can
delegate to a custom source that implements delete_schedule, but delete is
not advertised because the standard source cannot honor it.
Schedule types
Section titled “Schedule types”- Cron
- Interval
- One-shot (at a specific datetime)
If the schedule source fails or one row cannot be mapped, the adapter aborts the authoritative snapshot so a transient error cannot false-delete live schedules from the brain mirror.
Custom async sources must be installed with
TaskiqSchedulerAdapter(source=source, source_loop=owner_loop) from TaskIQ's
startup lifecycle. z4j runs get_schedules and a supported delete_schedule
on that owner loop exactly once and forwards cancellation. The exact stock
LabelScheduleSource keeps an unbound in-memory read fallback; subclasses and
other custom sources fail closed without an owner loop.