То, что вы хотите, это basic.consume
, что позволяет брокеру отправлять сообщения клиентам.
Тем не менее, библиотеки реализованы по-разному. Большинство из них поддерживают basic.consume
, но из-за врожденных ограничений используемых платформ некоторые этого не делают (особенно это касается официального клиента RabbitMQ C, на котором основано множество других клиентов).
Если ваша библиотека PHP не поддерживает basic.consume
, вы должны либо использовать опрос (плохо), либо вы можете использовать один из более полных клиентов для управления сценарием. Например, вы могли бы написать программу на Python или Java, которая потребляет от посредника (так что посредник отправляет доставки к ним), и они могут вызывать сценарий при получении нового сообщения. Официальные учебные пособия - отличное введение в API-интерфейсы AMQP и хорошее место для начала.
Это эффективно с большинства точек зрения, но требует стабильного соединения с брокером.
Если вы сомневаетесь в возможностях различных клиентов или если вам нужны дополнительные рекомендации, список рассылки RabbitMQ Discuss - отличное место для того, чтобы задавать вопросы. Разработчики считают необходимым ответить на любой запрос, размещенный там.