Oban — мощный фреймворк для оркестрации background jobs в Python на базе PostgreSQL. Надёжный, наблюдаемый, с enterprise‑фичами: async‑нативный, без лишних зависимостей, транзакционный контроль.
from oban import worker, Snooze, Cancel
@worker(queue="exports", max_attempts=5)
class ExportWorker:
async def process(self, job):
if job.cancelled(): return Cancel("cancelled")
report = await generate_report(job.args["report_id"])
if report.status == "pending": return Snooze(seconds=30)
await send_to_user(job.args["email"], report)
# Enqueue
await ExportWorker.enqueue({"report_id": 123, "email": "user@example.com"})
# CLI
oban install --dsn postgresql://localhost/mydb
oban start --dsn postgresql://localhost/mydb --queues exports:10
#Oban #JobQueue #PostgreSQL #AsyncPython #BackgroundJobs #Workflows #Python #OpenSource
https://github.com/oban-bg/oban-py
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - oban-bg/oban-py: 💎🐍 Robust job orchestration framework for Python, backed by modern PostgreSQL
💎🐍 Robust job orchestration framework for Python, backed by modern PostgreSQL - oban-bg/oban-py
1👍2🔥2 1