Take the 2-minute tour ×

I have 4 scheduled task in Celery which executes every N seconds. Now, application logic provides only one worker for each task ( it write-reads data from db, and parallel execution are not allowed).

But I can set only 1 worker for all tasks by using CELERYD_CONCURRENCY = 1

How can I set single worker for each task? Thanks

share|improve this question
add comment

1 Answer

I think you mean that you don't want your 4 tasks to run in parallel? If that is the case you should use something like a 'Chain' of subtasks, see:


Just add your tasks to a chain with the | operator, and then execute it with delay() or async_delay(). In that way, your next task will only start after the previous one has completed. And one worker from the pool will be assigned to each task (which can be the same worker or a different one).

share|improve this answer
add comment

Your Answer


