Optional backend capability for max-active-run policy administration.
Backends expose this capability through Docket.Backend.claim_policy_admin/0.
The public Docket facade owns argument validation and return-value
normalization; implementations perform only the delegated current-state
operation against their already-resolved backend context.
Summary
Types
@type cap() :: 1..2_147_483_647
@type effective_policy() :: %{ :owner_scope => owner_scope(), :max_active_runs => cap(), :source => :default | :override, :default_version => non_neg_integer(), :override_version => non_neg_integer(), :queued => non_neg_integer(), :admitted_ready => non_neg_integer(), :admitted_claimed => non_neg_integer(), :debt => non_neg_integer(), optional(atom()) => term() }
@type owner_scope() :: Docket.Backend.owner_scope()
@type policy() :: %{ :max_active_runs => cap() | nil, :version => non_neg_integer(), :updated_at => DateTime.t(), optional(atom()) => term() }
Callbacks
@callback get_default(Docket.Backend.ctx()) :: {:ok, policy()} | {:error, term()}
@callback get_effective(Docket.Backend.ctx(), owner_scope()) :: {:ok, effective_policy()} | {:error, term()}
@callback put_default(Docket.Backend.ctx(), cap(), keyword()) :: {:ok, policy()} | {:error, term()}
@callback put_override(Docket.Backend.ctx(), owner_scope(), cap(), keyword()) :: {:ok, policy()} | {:error, term()}
@callback reset_override(Docket.Backend.ctx(), owner_scope(), keyword()) :: {:ok, policy()} | {:error, term()}