Yes, if you don’t need to worry about overall throughput, you can create a separate queue and have a dedicated worker with concurrency set to 1. You can create as many queues as you want and configure which of these queues each worker receives messages from.
-Q, -c, , , Queues Concurrency " ".
celery -A my_project worker -l info -Q queue1 -c 1
, , , .
CELERY_ROUTES = {
'my_app.tasks.task1': {'queue': 'queue1'},
'my_app.tasks.task2': {'queue': 'queue2'},
}
.
task1.apply_async(queue='queue1')