←back to thread

378 points rbanffy | 2 comments | | HN request time: 0.402s | 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. leobuskin ◴[] No.46213982[source]
There’s no alternative (while prototyping), and anything else is better (when you properly defined your case).
replies(1): >>46215605 #
2. walthamstow ◴[] No.46215605[source]
DjangoQ2 is a fine alternative during early development