←back to thread

378 points rbanffy | 1 comments | | HN request time: 0.2s | source
Show context
teagee ◴[] No.46211038[source]
Any code or blog written by Adam is worth spending some time on.

It will be interesting to see how the tasks framework develops and expands. I am sad to see the great Django-Q2 lumped in with the awful Celery though.

replies(9): >>46211810 #>>46212076 #>>46212142 #>>46212219 #>>46212861 #>>46215681 #>>46215766 #>>46216187 #>>46217127 #
hintoftime ◴[] No.46212076[source]
Why is celery awful?
replies(4): >>46212860 #>>46213125 #>>46213237 #>>46213833 #
akoumjian ◴[] No.46213125[source]
Celery is great and awful at the same time. In particular, because it is many Python folks' first introduction to distributed task processing and all the things that can go wrong with it. Not to mention, debugging can be a nightmare. Some examples:

- your function arguments aren't serializable - your side effects (e.g. database writes) aren't idempotent - discovering what backpressure is and that you need it - losing queued tasks during deployment / non-compatible code changes

There's also some stuff particular to celery's runtime model that makes it incredibly prone to memory leaks and other fun stuff.

Honestly, it's a great education.

replies(2): >>46213509 #>>46213842 #
saaspirant ◴[] No.46213509[source]
From your experience, what is a better alternative guys?
replies(2): >>46213982 #>>46215778 #
1. boxed ◴[] No.46215778[source]
Not the comment that you replied to but I use my own Urd. It's a fancier Cron that you can stop fast. Which is imo what you normally want.

Task queues are like email. It's what everyone is used to so people ask for more of it, but it's not actually good/the right tool.