You can use each celeryd instance from the queue named after the worker host name:
celeryd -l info -n worker1.example.com -Q celery,worker1.example.com
sets the hostname worker1.example.com and will be consumed from the queue with the same name, as well as by default (with the name celery ).
Then, to direct the task to a specific employee, you can use:
task.apply_async(args, kwargs, queue="worker1.example.com")
Similarly, to send a repeat:
task.retry(queue="worker1.example.com")
or redirect the repetition of one employee:
task.retry(queue=task.request.hostname)
source share