Вопросы о роли routing_key в использовании Redis в качестве брокера для сообщений сельдереяPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Вопросы о роли routing_key в использовании Redis в качестве брокера для сообщений сельдерея

Сообщение Anonymous »

[celery_config.py] < /p>

Код: Выделить всё

task_queues = (
Queue( 'test_queue',
exchange=Exchange('test_queue', type='topic'),
routing_key='test_queue.*' ),
)

task_routes = {
'game.tasks.add':
{ 'queue': 'test_queue',
'exchange' : 'test_queue',
'exchange_type' : 'topic',
'routing_key' : 'test_queue.add',
'serializer' : 'json' },
'game.tasks.mul': {
'queue': 'test_queue',
'exchange' : 'test_queue',
'exchange_type' : 'topic',
'routing_key' : 'onetwothree',
'serializer' : 'json' },
}
< /code>
Я думаю, что задача MUL не должна входить в test_queue из -за настройки сельдерея. Но это приходит. (Из -за routing_key) я хочу узнать причину. < /P>
Если тип прямой, это работает так, как я хочу. Это проблема с темой Exchange_type?$ python manage.py shell

>>> from game.tasks import *
>>> result = add.delay(4, 5)
>>> result = mul.delay(5, 4)

$ celery -A mysite woker -l info
[queues]
> test_queue       exchange=test_queue(direct) key=test_queue.add

[tasks]
. game.tasks.add
. game.tasks.mul

[2025-03-13 09:10:48,335: INFO/MainProcess] Connected to redis://************/0

[2025-03-13 09:10:48,338: INFO/MainProcess] mingle: searching for neighbors

[2025-03-13 09:10:49,347: INFO/MainProcess] mingle: all alone

[2025-03-13 09:10:51,641: INFO/MainProcess] Task
game.tasks.add[086f143f-246b-45f7-8512-f8160beaefdc] received
[фактически произошло] , когда тип обмена установлен на тему

Код: Выделить всё

$ python manage.py shell

from game.tasks import *
>>> result = add.delay(4, 5)
>>> result = mul.delay(5, 4)

$ celery -A mysite woker -l info
[queues]

.> test_queue       exchange=test_queue(topic) key=test_queue.*

[tasks]
. game.tasks.add
. game.tasks.mul

[2025-03-13 09:19:26,328: INFO/MainProcess] Connected to redis://************/0

[2025-03-13 09:19:26,330: INFO/MainProcess] mingle: searching for neighbors

[2025-03-13 09:19:27,338: INFO/MainProcess] mingle: all alone

[2025-03-13 09:20:55,541: INFO/MainProcess] Task game.tasks.add[86ab6351-ff2f-4585-88b2-1fa95c6c50e9] received

[2025-03-13 09:20:57,096: INFO/MainProcess] Task game.tasks.mul[6bc76458-64e3-45e1-8a3d-7266574219ec] received
[ситуация, которую я ожидал]
Когда я указываю Exchange_type как тему, я не думаю, что Multask должен появиться, потому что routing_key не прав, так почему это происходит?

Подробнее здесь: https://stackoverflow.com/questions/795 ... sage-broke
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»