CLI Reference

CLI Reference#

Oban provides a command-line interface for managing workers and database schema.

Commands#

oban#

Oban - Job orchestration framework for Python, backed by PostgreSQL.

oban [OPTIONS] COMMAND [ARGS]...

Options

--version#

Show the version and exit.

install#

Install the Oban database schema.

oban install [OPTIONS]

Options

--config <config>#

Path to TOML configuration file (default: searches for oban.toml)

--dsn <dsn>#

PostgreSQL connection string

--prefix <prefix>#

PostgreSQL schema name (default: public)

Environment variables

OBAN_DSN

Provide a default for --dsn

OBAN_PREFIX

Provide a default for --prefix

start#

Start the Oban worker process.

This command starts an Oban instance that processes jobs from the configured queues. The process will run until terminated by a signal.

Signal handling: - SIGTERM: Graceful shutdown (finish running jobs, then exit) - SIGINT (Ctrl+C): Graceful shutdown on first signal, force exit on second

Examples:

# Start with queues oban start –dsn postgresql://localhost/mydb –queues default:10,mailers:5

# Use environment variables export OBAN_DSN=postgresql://localhost/mydb export OBAN_QUEUES=default:10,mailers:5 oban start

oban start [OPTIONS]

Options

--config <config>#

Path to TOML configuration file (default: searches for oban.toml)

--dsn <dsn>#

PostgreSQL connection string

--queues <queues>#

Comma-separated queue:limit pairs (e.g., ‘default:10,mailers:5’)

--prefix <prefix>#

PostgreSQL schema name (default: public)

--node <node>#

Node identifier (default: hostname)

--pool-min-size <pool_min_size>#

Minimum connection pool size (default: 1)

--pool-max-size <pool_max_size>#

Maximum connection pool size (default: 10)

--log-level <log_level>#

Logging level (default: INFO)

Options:

DEBUG | INFO | WARNING | ERROR | CRITICAL

--cron-modules <cron_modules>#

Comma-separated list of module paths with cron workers (e.g., ‘myapp.workers,myapp.jobs’)

--cron-paths <cron_paths>#

Comma-separated list of directories to search for cron workers (e.g., ‘myapp/workers’)

--dry-run#

Validate configuration and load cron modules without starting Oban

Environment variables

OBAN_DSN

Provide a default for --dsn

OBAN_QUEUES

Provide a default for --queues

OBAN_PREFIX

Provide a default for --prefix

OBAN_NODE

Provide a default for --node

OBAN_POOL_MIN_SIZE

Provide a default for --pool-min-size

OBAN_POOL_MAX_SIZE

Provide a default for --pool-max-size

OBAN_CRON_MODULES

Provide a default for --cron-modules

OBAN_CRON_PATHS

Provide a default for --cron-paths

uninstall#

Uninstall the Oban database schema.

oban uninstall [OPTIONS]

Options

--config <config>#

Path to TOML configuration file (default: searches for oban.toml)

--dsn <dsn>#

PostgreSQL connection string

--prefix <prefix>#

PostgreSQL schema name (default: public)

Environment variables

OBAN_DSN

Provide a default for --dsn

OBAN_PREFIX

Provide a default for --prefix

version#

oban version [OPTIONS]