PYTHONOMANIA
273 subscribers
195 photos
3 videos
1 file
616 links
Откройте для себя мир Python в PYTHONOMANIA!

Идеально подходит как для начинающих, так и для опытных разработчиков. Присоединяйтесь к нам, чтобы достичь совершенства в Python!

Сайт: https://pythonomania.github.io/
Download Telegram
📱Oban.

Oban — мощный фреймворк для оркестрации background jobs в Python на базе PostgreSQL. Надёжный, наблюдаемый, с enterprise‑фичами: async‑нативный, без лишних зависимостей, транзакционный контроль.

🔹Преимущества:

🔘Исторические метрики — jobs хранятся после выполнения для аудита/аналитики.
🔘Изолированные queues — concurrency per queue, без конкуренции (медленный reports не тормозит emails).
🔘Контроль — start/stop/pause/scale queues на лету.
🔘Cancel/Snooze — отмена/отложка jobs.
🔘Triggers — мгновенная диспетчеризация на всех нодах.
🔘Priority/CRON — 10 уровней приоритета, cron‑джобы без дубликатов.
🔘Graceful shutdown — slow jobs.
🔘Node metrics/Telemetry — мониторинг состояния.

🔻Быстрый старт:
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
1👍2🔥21