Oban.py
lastmod 2026-01-31created 2026-01-312 edits
Oban.py is a database-backed job processing framework that ports Elixir's Oban to Python
About
- Oban.py is a PostgreSQL-based Python port of Elixir's job processing framework Oban, letting you insert and process jobs with only a database
- Jobs are created and rolled back within database transactions, and it supports various features such as queue management, result storage, and cron scheduling
- The open-source version has limitations such as single-threaded asyncio execution and individual inserts/acks, while the Pro version provides parallel processing, workflows, and smart concurrency
- Internally it works in five stages, Insert → Notify → Fetch → Execute → Ack, and uses PostgreSQL's FOR UPDATE SKIP LOCKED to prevent concurrency conflicts
- Leader election, orphaned job recovery, backoff retries, etc. are also database-backed, enabling reliable distributed processing without an external broker