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]