Size: a a a

2020 July 22

Д

Дмитрий in Yii Framework 3
Message - просто dto. не нужно её трансформировать в событие, чтобы найти обработчиков.
источник

В

Виктор in Yii Framework 3
Дмитрий
Message - просто dto. не нужно её трансформировать в событие, чтобы найти обработчиков.
Мне казалось, любой объект может быть событием, не?
источник

Д

Дмитрий in Yii Framework 3
может, но зачем?
источник

В

Виктор in Yii Framework 3
Для унификации, единообразия, простоты
источник

Д

Дмитрий in Yii Framework 3
унификации, единообразия и простоты чего?
источник

Д

Дмитрий in Yii Framework 3
простота будет интерфейс с методом handle(object $message)
навешивать листенеры на событие из очереди я не вижу смысла. есть юзкейсы?
источник

В

Виктор in Yii Framework 3
Дмитрий
унификации, единообразия и простоты чего?
Диспетчер и так уже используется в либе, а сообщение в очереди - по сути своей событие, оно несет ровно ту же смысловую нагрузку, только передается не в том же потоке выполнения, а асинхронно. И я вижу смысл в том, чтобы это событие обрабатывать так же, как и любое другое, за исключением момента с асинхронностью.
источник

Д

Дмитрий in Yii Framework 3
не знаю, не знаю...
источник

RT

Roman Tsurkanu in Yii Framework 3
мне кажется задание для очереди и событие лучше разделять
источник

RT

Roman Tsurkanu in Yii Framework 3
не знаю почему)
источник

Д

Дмитрий in Yii Framework 3
меня беспокоит тот момент, что на внешнее событие люди будут делать несколько обработчиков.
т.е. на событие типа А будет 2+ обработчиков.
вешаться в нескольких местах на одно внешнее событие системы плохо
источник

RT

Roman Tsurkanu in Yii Framework 3
у задания могут быть несколько обработчиков, но взять должен один по идее.
у события могут быть несколько слушателей и отрабатывать должны все
источник

AM

Alexander Makarov in Yii Framework 3
Дмитрий
меня беспокоит тот момент, что на внешнее событие люди будут делать несколько обработчиков.
т.е. на событие типа А будет 2+ обработчиков.
вешаться в нескольких местах на одно внешнее событие системы плохо
Не всегда.
источник

AM

Alexander Makarov in Yii Framework 3
Событий просто не должно быть много...
источник

AM

Alexander Makarov in Yii Framework 3
В очередях есть 2 юзкейса главных: job + worker и message bus.
источник

AM

Alexander Makarov in Yii Framework 3
Roman Tsurkanu
у задания могут быть несколько обработчиков, но взять должен один по идее.
у события могут быть несколько слушателей и отрабатывать должны все
Верно. Когда воркер — это один обработчик, как правило.
источник

RT

Roman Tsurkanu in Yii Framework 3
Alexander Makarov
В очередях есть 2 юзкейса главных: job + worker и message bus.
я бы для bus отдельное решение делал
источник

AM

Alexander Makarov in Yii Framework 3
Умгу.
источник

AM

Alexander Makarov in Yii Framework 3
Очередь про задания, шина про кросс-системные события.
источник

В

Виктор in Yii Framework 3
Я и предлагаю перейти к модели message bus. У такого подхода есть определенный минус в том, что message bus с реальными серверами очередей может быть реализован и на стороне нашей библиотеки, и на стороне сервера очередей (сложный роутинг очередей, широковещательные каналы), что ведёт за собой потенциальную неопределенность местоположения логики роутинга сообщений. Но таки он и проблемы решает, а на этот момент можно отдельно в документации внимание обратить.
источник