Size: a a a

2021 May 31

D

Dmitry in symfony
а если вы будете использовать роутинг ключ, то вы можете сделать services_logs
и слать туда логи с ключом вида
service1.logs.debug
источник

SP

Sergey Protko in symfony
если ты делаешь для каждого сервиса свои эксчейнджи и очереди значит тебе надо выносить роутинг на клиент. То есть все кто отправляют сообщения должны знать куда сообщения должны уходить.
источник

D

Dmitry in symfony
и будет всего 3 консьюмера
*.logs.debug
*.logs.info
*.logs.error
источник

SP

Sergey Protko in symfony
технически ты можешь на все эксчейнджи подписаться) так что это не главный аргумент
источник

AK

Anton K. in symfony
да, это все со стороны кролика. если мы говорим про rabbitmq бандл, то выйдет так, что должно быть 100-500-1000 консьюмеров
источник

AK

Anton K. in symfony
который каждый на свою очередь будет нацелен
источник

D

Dmitry in symfony
ну так то да...но неудобно же
источник

D

Dmitry in symfony
нет, будет всего 3 консьюмера подписанных на нужный роутинг ключ
источник

AK

Anton K. in symfony
вот это меня напрягло с самого начала. в команде rabbitmq:consumer есть параметр routing_key, но по сути он ничего не делает
источник

AD

Andrey Dembitskyi in symfony
Потому что возмущение о приведённом выше issue ввиду "почему эта опция бесполезна" может возникнуть ввиду того, что неизвестен принцип работы amqp
источник

AK

Anton K. in symfony
вот именно так это и не работает в rabbitmq бандле
источник

AK

Anton K. in symfony
так-то таких issues несколько на гитхабе. думаете, такое поведение не ожидаемо?
источник

D

Dmitry in symfony
If you want to bind queue with specific routing keys you can declare it in producer or consumer config:

queue_options:
   name: "upload-picture"
   routing_keys:
     - 'android.#.upload'
     - 'iphone.upload'

из мануала бандла
источник

D

Dmitry in symfony
если оно так не работает - это баг, закиньте им issue
источник

AK

Anton K. in symfony
Переслано от Anton K.
получается, что можно добиться того, чтобы воркеров запускать как
bin/console rabbitmq:consume tasks -r 'piority.normal'
bin/console rabbitmq:consume tasks -r 'piority.high'
да ?
источник

AK

Anton K. in symfony
Переслано от Anton K.
@Jokaorgua
bin/console rabbitmq:consume tasks -w -r 'priority.normal'

запустил вот так. шлю из rabbitmq админки сообщение в routing-key = "priority.high"
сообщение прилетает в воркера с priotiy.normal
источник

AK

Anton K. in symfony
Переслано от Anton K.
источник

AK

Anton K. in symfony
Переслано от Anton K.
вот и вся любовь
источник

AK

Anton K. in symfony
таких issue уже несколько, я приводил там пример
источник

AD

Andrey Dembitskyi in symfony
Конечно ожидаемо, чтобы магически любая хотелка работала как пришло в голову желающему
источник