Задать вопрос
Newto
@Newto

Как организовать очередь сообщений так, что бы каждое след. сообщение передавалось только после того, как обработано предыдущее?

Есть несколько сообщений в очереди, в скрипте "Sender.php". И есть скрипт-получатель, соответственно, "Receiver.php".
Задача заключается в том, что бы после отправки сообщения из sender-a, receiver отправлял флаг о завершенности/незавершенности обработки полученного сообщения и только если флаг имеет статус "завершено", то отправляется следующее сообщение из очереди.

С RabbitMQ я еще не работал, только смотрю в его сторону и пока не понял возможно ли с помощью него в принципе осуществить подобный функционал. Если есть знающие люди, то прошу подсказки по данному вопросу. Если с кратким примером кода, то вообще было бы замечательно.
  • Вопрос задан
  • 105 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 2
@yarkin
Из текста не до конца понятно, Вы хотите, чтобы была очередь или sender должен выполняться каждый раз для нового сообщения? Если очередь, то обрабатывать сообщения по одному можно, но только если получатель один. В протоколе AMQP можно вручную получать сообщения по одному - basic_get, или выставить количество неподтвержденных сообщений в 1 и подтверждать обработку каждого.
Ответ написан
Комментировать
inoise
@inoise Куратор тега PHP
Solution Architect, AWS Certified, Serverless
Rabbitmq работает в таком режиме если 1 consumer. Если больше то нет. Чуть серьёзнее пример - Kafka. Там если настроить 1 партицию на топик то будет ожидаемый результат
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽