【发布时间】:2015-02-26 11:44:58
【问题描述】:
我目前正在使用 basic_get 从 rabbitMQ 获取消息后实现一些逻辑,而不会自动发送接收到的消息的 ack。
根据教程here(消息确认部分),我无法在消息本身中找到通道引用并像上面链接中提到的那样发送确认:
$msg->delivery_info['channel']->basic_ack($msg->delivery_info['delivery_tag']);
那是因为在我的消息传递信息数组中没有这样的频道。
我想知道它怎么会丢失。
编辑:基本获取的代码sn-p
$msg = $this->channel->basic_get($this->queueName, false);
这是我的消息的 var_dump:(黄色部分)
l
【问题讨论】:
-
请同时提供您的 basic_get 的截图,您是否在那里设置了 autoAck 参数?
-
@jylipaa:添加见上文
-
嗯,这似乎很好。您能否还显示发布部分,包括通道/队列声明和发布
-
$msg = new AMQPMessage($data); $this->channel->basic_publish($msg,'',$this->queueName); -
@jylipaa:有什么新想法吗?
标签: php rabbitmq amqp php-amqplib