История изменений
Исправление grazor, (текущая версия) :
Ваш патч всё таки кое что полезное уже сейчас делает
Остальное делает kombu и делает это правильно. Единственная проблема, которую я обнаружил — он не создаёт очередь для ответов сам.
Вот что происходит, если эту очередь создать вручную:
>>> from my_worker import *
>>> result = test_func.delay()
>>> result.backend.binding.routing_key
'0d214391-9fd6-328c-99b0-efbb3b600db7'
Но при этом вот, что происходит в rabbitmq:
$ watch rabbitmqctl list_queues name messages messages_ready messages_unacknowledged
Listing queues ...
celery@desktop.celery.pidbox 0 0 0
celeryev.3aa0dadd-7ebf-4b84-9d5c-5f46d34c5bf6 0 0 0
main_check 0 0 0
export_task 1 1 0
2e420616-a250-3f84-bb1d-b548ed89c57d 0 0 0
То есть несмотря на routing_key бэкенда, сообщения уходят в нужную очередь, и если создавать ещё таски, количество сообщений в очереди будет увеличиваться.
Исходная версия grazor, :
Ваш патч всё таки кое что полезное уже сейчас делает
Остальное делает kombu и делает это правильно. Единственная проблема, которую я обнаружил — он не создаёт очередь для ответов сам.
Вот что происходит, если эту очередь создать вручную:
>>> from my_worker import *
>>> result = test_func.delay()
>>> result.backend.binding.routing_key
'0d214391-9fd6-328c-99b0-efbb3b600db7'
Но при этом вот, что происходит в rabbitmq:
$ watch rabbitmqctl list_queues name messages messages_ready messages_unacknowledged
Listing queues ...
celery@desktop.celery.pidbox 0 0 0
celeryev.3aa0dadd-7ebf-4b84-9d5c-5f46d34c5bf6 0 0 0
main_check 0 0 0
export_task 1 1 0
2e420616-a250-3f84-bb1d-b548ed89c57d 0 0 0
То есть несмотря на routing_key бэкенда, сообщения уходят в нужную очередь, и если создавать ещё таски, количество сообщений в очереди будет соответственно увеличиваться.