та майже ніколи не помирає. він іноді робить щось важливе, про що я хочу оперативно оповістити группу операторів. канал оповіщення - тєлега (канал не важливий, хоч email розсилка). зазвичай повідомлень мало, і я просто їх поштучно кидав як ChatMessage в messageBus. але іноді одночасно валиться 100-300 таких повідомлень, хочу почати группувати їх та відправляти пакетом наприклад по 50 шт.
якщо б це був не воркер, то взяв би монолог BufferHandler і все норм - кожні 50 повідомленнь відправляться групами, а залишок відправиться на __destruct()
а шо робити з воркером, в якого хендлер не закривається? написати власний хендлер, який би відправляв неповний буфер якщо він не змінюється останні Х секунд?
чи є якісь рішення, яких я не бачу?
используете сифони месенджер, если можете добавить pcntl то предлагаю глянуть пример https://jolicode.com/blog/batching-symfony-messenger-messages
Обсуждают сегодня