在RabbitMQ
中向PHP
发布消息时,AMQPExchange->publish
方法会返回true
,即使找不到该交换。我正在设置AMQP_MANDATORY
标志。这是代码:
$myExchange->publish($myMessage, $myRoutingKey, AMQP_MANDATORY, $myOptions);
我知道我以有效的方式使用该方法,因为它可以工作,但是如果我将它作为一个不存在的交换或队列,它仍然返回true。
答案 0 :(得分:0)
强制(如立即执行)不会使发布操作失败,而是在AMQP客户端的返回通道上返回消息。因此,您需要检查是否已返回消息以了解此强制性出版物的问题。
相关:请在AMQPExchange::publish
:http://www.php.net/manual/en/amqpexchange.publish.php#106987