Foresight.Fitness.ObanQueues (Foresight v0.1.0)

Copy Markdown View Source

Fitness check: every Oban.Worker's declared queue must exist in the resolved Oban configuration.

A worker whose queue is not declared enqueues "successfully" and then never runs — the job sits available forever while status endpoints report pending. This check fails closed on that class of silent job loss.

Summary

Types

violation()

@type violation() :: %{worker_file: String.t(), queue: atom(), reason: String.t()}

Functions

configured_queues(config_overrides)

@spec configured_queues(keyword()) :: [atom()]

declared_queues()

@spec declared_queues() :: [{String.t(), atom()}]

violations(config_overrides \\ [oban: [enabled: true]])

@spec violations(keyword()) :: [violation()]