Вы можете получить каждый экземпляр celeryd из очереди, названной в честь имени хоста работника:
celeryd -l info -n worker1.example.com -Q celery,worker1.example.com
задает имя хоста worker1.example.com
и будет потреблять из очереди с таким же именем, а такжеочередь по умолчанию (с именем celery
).
Затем, чтобы направить задачу конкретному работнику, вы можете использовать:
task.apply_async(args, kwargs, queue="worker1.example.com")
, аналогично тому, чтобы направить повтор:
task.retry(queue="worker1.example.com")
или для направления повторной попытки к тому же работнику:
task.retry(queue=task.request.hostname)