Scheduling facade for Kathikon.
Delegates to the configured scheduler adapter (default: Kathikon.Scheduler.BuiltIn).
config :kathikon, scheduler: Kathikon.Scheduler.BuiltInExamples
{:ok, job_id} = Kathikon.Scheduler.schedule(MyWorker, %{}, in: 300)
{:ok, schedule_id} = Kathikon.Scheduler.schedule(MyWorker, %{}, cron: "0 * * * *")See docs/scheduling.md.
Summary
Functions
Cancels a registered recurring schedule.
Fetches a registered recurring schedule by id.
Lists registered schedules from the active adapter.
Schedules a one-time job at a datetime, after a duration, or with a cron expression.
Updates a recurring schedule in place (cron, worker, args, queue, and other opts).
Functions
Cancels a registered recurring schedule.
Examples
:ok = Kathikon.Scheduler.cancel_schedule(schedule_id)
Fetches a registered recurring schedule by id.
Examples
{:ok, schedule} = Kathikon.Scheduler.fetch_schedule(schedule_id)
schedule.cron
Lists registered schedules from the active adapter.
Examples
{:ok, schedules} = Kathikon.Scheduler.list_schedules()
Schedules a one-time job at a datetime, after a duration, or with a cron expression.
Options
:at— one-timeDateTimeorNaiveDateTime:in— one-time delay in seconds:cron— recurring 5-field cron expression
Examples
{:ok, job_id} = Kathikon.Scheduler.schedule(MyWorker, %{}, in: 60)
{:ok, schedule_id} =
Kathikon.Scheduler.schedule(MyWorker, %{"digest" => true}, cron: "0 9 * * *")
Updates a recurring schedule in place (cron, worker, args, queue, and other opts).
Changing :cron resets the last-fired timestamp so the new expression can match
on the next tick.
Examples
{:ok, schedule} = Kathikon.Scheduler.update_schedule(schedule_id, cron: "0 10 * * *")