Docket.Runtime.Supervisor (docket v0.1.0)

Copy Markdown View Source

Supervision tree for one named Docket runtime instance.

Hosts start one per runtime instance, usually through the use Docket host module, or directly:

children = [
  {Docket.Runtime.Supervisor,
   name: MyApp.DocketRuntime,
   backend: {MyApp.DocketBackend, backend_option: :value}}
]

:name is required and becomes the runtime identity passed to durable facade functions. All other options are stored as the instance's instance configuration. Execution policy is resolved once at startup and cannot be replaced by per-call options. A configured backend: {BackendModule, options} contributes its own supervised child and keeps backend-specific configuration under that substitution point. An optionless backend may use backend: BackendModule; individual stores cannot be mixed.

A production instance always owns one backend bundle. The tree also owns a small instance-configuration process and a Task.Supervisor used by backend vehicles for node execution and observer delivery.

Summary

Functions

Returns a specification to start this module under a supervisor.

Task.Supervisor name for node tasks and after-commit observer delivery.

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

start_link(opts)

task_supervisor(runtime)

Task.Supervisor name for node tasks and after-commit observer delivery.