Skip to content Skip to sidebar Skip to footer

Celeryd_concurrency, --concurrency And Autoscale

I have a few questions regarding task routing, concurrency and performance. Here is my use case : I've got one dedicated server to run celery tasks, so I can use all the CPUs to ru

Solution 1:

It makes no sense setting both concurrency and autoscale since both are means to control the number of worker subprocesses for a given worker instance, as explained here.

--concurrency N means you will have exactly N worker subprocesses for your worker instance (meaning the worker instance can handle N conccurent tasks).

--autoscale max, min means you will have at least min and at most max concurrent worker subprocesses for a given worker instance.

On which CPU each process (the main worker process or any of it's child subprocesses) will run is not predictable, it's an OS thing, but do not assume subprocesses will all run on the same CPU (chances are they won't - that's part of the point of having concurrent subprocesses actually).

Post a Comment for "Celeryd_concurrency, --concurrency And Autoscale"