4 ms·
Agreed on Celery - I had to dig around in that source a few times to build extensions or investigate bugs, and hooooly cow. That is some of my least-favorite P
by Groxx 4y ago
Agreed on Celery - I had to dig around in that source a few times to build extensions or investigate bugs, and hooooly cow. That is some of my least-favorite Python code ever.... for a task queue. It's extremely fancy[1], probably in part because it does so much to make it "fluent"-feeling (which is honestly pretty neat).
As to building your own queue: if you can tolerate small loss on outages, redis + optionally a persisting replica makes things truly trivial. You can build a safe queue in a day with a small "pop into in-progress list" pipeline/script and a monitoring daemon to detect lost tasks. Monitoring daemons and dumb workers are super simple.
[1] or at least it was, a few years ago. it felt like reading an exploration of every single metaprogramming feature that Python offers, all interacting with each other.
- emptysea 4y agoThey do some very strange stuff in the celery codebase like most of the classes inheriting from dict and splitting things into multiple packages and repos. Like is anyone actually going to resuse kombu (celery’s messaging package)?