AMQP_MANDATORY标志在PHP中不起作用(带RabbitMQ)


AMQP_MANDATORY flag not working in PHP (w/ RabbitMQ)

当在PHP中向RabbitMQ发布消息时,即使找不到交换,AMQPExchange->publish方法也会返回true。我正在设置AMQP_MANDATORY标志。这是代码:

$myExchange->publish($myMessage, $myRoutingKey, AMQP_MANDATORY, $myOptions);

我知道我正在以有效的方式使用该方法,因为它有效,但是如果我给它一个不存在的交换或队列,它仍然返回 true。

强制(

如即时)不会使发布操作失败,而是在 AMQP 客户端的返回通道上返回消息。因此,您需要检查是否已返回消息,以了解此强制发布的问题。

相关:请参阅AMQPExchange::publish上的此评论:http://www.php.net/manual/en/amqpexchange.publish.php#106987