LINUX.ORG.RU

История изменений

Исправление 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 бэкенда, сообщения уходят в нужную очередь, и если создавать ещё таски, количество сообщений в очереди будет соответственно увеличиваться.