при инициализации создаст новый поток для фоновой отправки в брокер сообщений.
Очередь для отправки в брокер будет наполняться в одном потоке с приложением. Но вот сама отправка в брокер должна быть в другом потоке (отправка в фоновом режиме).
То есть я хочу, чтобы мы наполняли очередь по мере выполнения в программы, а отправка из очереди в брокер была в фоновом режиме.
Подскажите, пожалуйста, как мне поступиться к этому?
Товарищ сказал, что в Laravel что-то подобное есть из коробки. Может знаете?
брокеры, очереди, все по современному, у тут бах PHP 5.3 не пора ли уже обновится, в том числе и Laravel подтянуть до живой версии
У заказчика такая версия стоит:( Сказал, что повышением пока разработчики не занимались и нужно эффективное решение именно на данной версии:(
Вы знакомы разделами Redis — Pub / Sub в laravel? Этот раздел вам должен помочь.
ну попробуй реализовать функционал afterResponse(), что добавили в последних версиях Laravel
Нет. не знаком. Вчера наткнулся на такую вещь. Написано как раз про фоновую отправку. Но при этом пример (если я правильно всё понял) линейный. И фоновой отправкой тут не пахнет. Время не экономится.
Так в чем проблема сделать добавление в очередь Redis, а отдельным кроном - вычитывать из очереди и обрабатывать данные из очереди? Пример на картинке искуственный для того, чтобы показать какие приемы нужно использовать.
Очередь у меня будет отправляться в кафку. Нет смысла добавлять в Redis, если можно сразу в кафку) Суть как раз в том, чтобы отправку в броккер сделать фоновой
так redis и кафка - это просто одно и то же практически в контексте вашей задачи. Тогда просто по крону нужно запускать написанную вами команду, которая поднимает инстанс приложения, конектит к кафке и обрабатывает очередь.
Да, вот я и говорю, что redis и кафка одно и тоже. Но разве очередь не умирает после выполнения запроса?
Интересно, а каким образом работает PHP? Давайте начнем с этого)
При чем тут пхп?
Я просто не особо понял - зачем сохранять в базу данных, если есть очередь)
демона пишешь, и пусть паблишет туда. на ларавель есть jobs
Где можно найти пример без ларавеля?
Обсуждают сегодня