Size: a a a

2020 July 22

RT

Roman Tsurkanu in Yii Framework 3
для меня bus это как правило микросервисы, а микросервисы - это как правило разные реализации(не только пхп). И там нужны другие правила взаимодействия. Ну то есть там нельзя просто так сериализовать и положить в очередь. Надо уметь получать и передавать дальше в любом формате.
источник

RT

Roman Tsurkanu in Yii Framework 3
мы пытались symfony messenger прикрутить для bus. Ничего не вышло. Так как с одной стороны java, с другой еще что то.
источник

RT

Roman Tsurkanu in Yii Framework 3
хотя казалось бы, очереди и очереди
источник

В

Виктор in Yii Framework 3
В очередь можно класть и json
источник

RT

Roman Tsurkanu in Yii Framework 3
ну вот у нас не получилось, там это как то где то было очень глубоко закопано(формат сообщения)
источник

AB

Alexander Borisov in Yii Framework 3
Roman Tsurkanu
мы пытались symfony messenger прикрутить для bus. Ничего не вышло. Так как с одной стороны java, с другой еще что то.
давно пытались?
источник

В

Виктор in Yii Framework 3
В симфони действительно штука мудреная, они жёстко завязываются на свою реализацию сообщений в конвертах с марками.
источник

RT

Roman Tsurkanu in Yii Framework 3
Alexander Borisov
давно пытались?
не очень
источник

RT

Roman Tsurkanu in Yii Framework 3
У тебя получилось?
источник

AB

Alexander Borisov in Yii Framework 3
Roman Tsurkanu
У тебя получилось?
я очень давно пытался, тоже были трудности
источник

RT

Roman Tsurkanu in Yii Framework 3
ну тут еще kafka была - там свои нюансы
источник

В

Виктор in Yii Framework 3
@samdark, @romkatsu, а можете резюме описанного в паре слов положить в issue?
https://github.com/yiisoft/yii-queue/issues/51
источник

В

Виктор in Yii Framework 3
Желательно - с пожеланиями, как поступить с описанной там проблемой 😊
источник

RT

Roman Tsurkanu in Yii Framework 3
ок, сегодня отпишу свое мнение.
источник

DS

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

В

Виктор in Yii Framework 3
А как насчет такого подхода: добавлять в очередь некий Message, у которого в интерфейсе будет getJobId(), а внутри воркера запускать $injector->inject([$message->getJobId(), 'execute'], [$message]);?
источник

В

Виктор in Yii Framework 3
Dmitriy S
По факту к этому один вопрос, какое преимущество несет несколько обработчиков задания?
Ровно то же самое, какое и несколько обработчиков у события
источник

В

Виктор in Yii Framework 3
В этом подходе задание - это асинхронное событие
источник

В

Виктор in Yii Framework 3
Виктор
А как насчет такого подхода: добавлять в очередь некий Message, у которого в интерфейсе будет getJobId(), а внутри воркера запускать $injector->inject([$message->getJobId(), 'execute'], [$message]);?
как раз очень похоже на то, что предлагал @yiiliveext
источник

DS

Dmitriy S in Yii Framework 3
Виктор
Ровно то же самое, какое и несколько обработчиков у события
Так я ж и спрашиваю, они там нужны, это преимущество или недостаток? Просто свои хендлеры с конфигом config/queue.php реализуются буквально за час, то есть не составит никакого труда сделать одно задание - один обработчик, в остальном все будет работать как и с событиями.
источник