-
Notifications
You must be signed in to change notification settings - Fork 6
Parallel processing notes
Robert Sare edited this page Jun 30, 2017
·
5 revisions
-
waiting()andcomplete_count()method calls can be expensive - group methods can't track progress if
ignore_result=True...
-
Set the prefetch multiplier (
CELERYD_PREFETCH_MULTIPLIER) to 1 to prohibit many tasks from being reserved by a single worker - Queue up tasks, then launch workers: better chance of rapidly consuming tasks sitting on queue
- Setting the broker visibility timeout to a low value seems to ensure messages are rapidly consumed (
{'visibility_timeout' : 10}) - Use
celery --autoscale=max,minto limit concurrent jobs (best with concurrency at least # processors) - Running multiple workers on one machine doesn't seem to make a difference in how jobs are consumed
- Run time constrained by I/O: Pickling/un-pickling
- Run time constrained by CPU: Matching template
- Memory not a limiting factor for
t2.mediumor better (maybet2.smalltoo?) -
t2.microinstances run out of memory on 8 MB Carrizo test case (duh)