Skip to content

taskiq-scheduler

Requires TaskIQ 0.11+ and <1, Python 3.11+. See the compatibility matrix for the full pin string.

Terminal window
pip install z4j-taskiqscheduler

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.

  • 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.

taskiq.