Как организовать очередь сообщений так, что бы каждое след. сообщение передавалось только после того, как обработано предыдущее?
Есть несколько сообщений в очереди, в скрипте "Sender.php". И есть скрипт-получатель, соответственно, "Receiver.php".
Задача заключается в том, что бы после отправки сообщения из sender-a, receiver отправлял флаг о завершенности/незавершенности обработки полученного сообщения и только если флаг имеет статус "завершено", то отправляется следующее сообщение из очереди.
С RabbitMQ я еще не работал, только смотрю в его сторону и пока не понял возможно ли с помощью него в принципе осуществить подобный функционал. Если есть знающие люди, то прошу подсказки по данному вопросу. Если с кратким примером кода, то вообще было бы замечательно.
Из текста не до конца понятно, Вы хотите, чтобы была очередь или sender должен выполняться каждый раз для нового сообщения? Если очередь, то обрабатывать сообщения по одному можно, но только если получатель один. В протоколе AMQP можно вручную получать сообщения по одному - basic_get, или выставить количество неподтвержденных сообщений в 1 и подтверждать обработку каждого.
Rabbitmq работает в таком режиме если 1 consumer. Если больше то нет. Чуть серьёзнее пример - Kafka. Там если настроить 1 партицию на топик то будет ожидаемый результат