~/talk

Implementing Celery, Lessons Learned

Talkat PyOhio 2014 · 2014-07-26..07-27· [microservices]
slides:none on file

Company moves from a Postgres-backed queue (running into millions a day, table bloat, and rare duplicate jobs) to Celery + RabbitMQ, adds separate high/medium/low queues and dynamic workers, and implements a single failure queue plus Sentry alerts. Producers delay enqueue until SQL Alchemy’s after commit event to avoid orphaned tasks; workers wrap tasks in DB sessions that commit on success and rollback on failure. PostgreSQL triggers use the pg_amqp extension (had to force JSON content type) to publish tasks.

AI-written summary · about

  1. 0:00Introduction
  2. 1:50Old queueing system
  3. 4:29Celery overview
  4. 7:16Multi-environment setup
  5. 9:03Task priority management
  6. 11:32Handling task failures
  7. 15:49Sentry integration
  8. 18:59SQLAlchemy integration
  9. 24:13Worker-side database management
  10. 27:15Postgres triggered tasks
  11. 29:26Task naming and triggers
  12. 34:00Q&A and conclusion
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.