Packages

Static analysis tool for Oban workers and configuration

Current section

Files

Jump to
oban_doctor lib oban_doctor.ex
Raw

lib/oban_doctor.ex

defmodule ObanDoctor do
@moduledoc """
ObanDoctor - Static analysis tool for Oban workers and configuration.
ObanDoctor helps catch common Oban misconfigurations and worker bugs at CI time
through static analysis of your codebase.
## Usage
Run checks via mix tasks:
# Check workers for issues
mix oban_doctor.check_workers
# Check Oban configuration (coming soon)
mix oban_doctor.check_config
# Run all checks (coming soon)
mix oban_doctor
## Checks
### Worker Checks
* `MissingQueue` - Workers using queues not defined in Oban config
More checks coming soon.
"""
alias ObanDoctor.WorkerDiscovery
alias ObanDoctor.ObanDiscovery
@doc """
Discovers all Oban workers in the given project root.
"""
def discover_workers(root_path \\ File.cwd!()) do
WorkerDiscovery.discover(root_path)
end
@doc """
Discovers all defined Oban queues from config files.
"""
def discover_queues(root_path \\ File.cwd!()) do
ObanDiscovery.discover_queues(root_path)
end
@doc """
Discovers all Oban instance configurations from config files.
"""
def discover_oban_configs(root_path \\ File.cwd!()) do
ObanDiscovery.discover_oban_configs(root_path)
end
end