Zizq.CronEntry (Zizq v0.6.1)

Copy Markdown View Source

One scheduled job within a cron group.

An entry pairs a cron expression with a job to enqueue when it fires. The job is an ordinary Zizq.Enqueue, so anything that can be enqueued can be scheduled — including one built by a Zizq.JobKind module.

Fields

  • :name — unique within its group.
  • :expression — a cron expression, e.g. "*/15 * * * *".
  • :timezone — an IANA name, e.g. "Australia/Melbourne". The server's own timezone when unset.
  • :paused — whether this entry is currently suspended.
  • :job — the Zizq.Enqueue fired on schedule.
  • :next_enqueue_at, :last_enqueue_at — when it fires next, and when it last did. Read-only.
  • :paused_at, :resumed_at — when it was last suspended and resumed. Read-only.

Summary

Functions

Build an entry from a keyword list or map.

Types

t()

@type t() :: %Zizq.CronEntry{
  expression: String.t(),
  job: Zizq.Enqueue.t() | nil,
  last_enqueue_at: DateTime.t() | nil,
  name: String.t(),
  next_enqueue_at: DateTime.t() | nil,
  paused: boolean() | nil,
  paused_at: DateTime.t() | nil,
  resumed_at: DateTime.t() | nil,
  timezone: String.t() | nil
}

Functions

new!(entry)

@spec new!(t() | keyword() | map()) :: t()

Build an entry from a keyword list or map.

:name, :expression and :job are required. The job takes the same forms Zizq.enqueue/2 does.