Jidoka.Workflow.Schedule (Jidoka v0.9.0)

Copy Markdown View Source

One-time or recurring background workflow schedule contract.

Summary

Functions

Returns the next trigger time after a completed trigger.

Returns the supported schedule cancellation policies.

Returns the supported misfire policies.

Builds and validates one schedule.

Returns the supported overlap policies.

Types

t()

@type t() :: %Jidoka.Workflow.Schedule{
  cancellation: :future_only | :future_and_active,
  cron: Crontab.CronExpression.t() | nil,
  enabled: boolean(),
  id: String.t(),
  input: map(),
  misfire: :skip | :run_once,
  misfire_grace_ms: non_neg_integer(),
  next_at: DateTime.t() | nil,
  overlap: :skip | :allow,
  retry: Jidoka.Workflow.RetryPolicy.t() | nil,
  run_opts: keyword(),
  timezone: String.t(),
  trigger: trigger(),
  workflow: module()
}

trigger()

@type trigger() :: {:at, DateTime.t()} | {:cron, String.t()}

Functions

advance(schedule, from)

@spec advance(t(), DateTime.t()) :: {:ok, t()} | {:error, term()}

Returns the next trigger time after a completed trigger.

cancellation_policies()

@spec cancellation_policies() :: [:future_only | :future_and_active]

Returns the supported schedule cancellation policies.

misfire_policies()

@spec misfire_policies() :: [:skip | :run_once]

Returns the supported misfire policies.

new(attrs, opts \\ [])

@spec new(
  keyword() | map(),
  keyword()
) :: {:ok, t()} | {:error, term()}

Builds and validates one schedule.

overlap_policies()

@spec overlap_policies() :: [:skip | :allow]

Returns the supported overlap policies.