Roost

Postgres-backed background job queue for Python — Oban for Pythonistas.

Warning

Roost is in alpha. APIs may break before 1.0. Pin exactly.

Why Roost?

  • No new infra. Your existing Postgres is the queue. No Redis, no RabbitMQ, no Kafka.

  • Transactional enqueue. Insert a job in the same transaction as your business writes — they commit or roll back together.

  • Battle-tested concurrency. SELECT FOR UPDATE SKIP LOCKED for safe parallel workers.

  • Real-time wakeups. LISTEN/NOTIFY — no busy-polling.

  • Sync and async. First-class twin facades over a single core.

  • Observable by SQL today; by roost-web tomorrow.

Recipes