繁体   English   中英

RabbitMQ PHP AMQP库 - 获取消息头

[英]RabbitMQ PHP AMQP Library - Get message headers

我有一个简单的排队系统,显然,它接收消息并发布它们。

但是,由于系统中的新开发,我们现在需要检查来自交换的x-death标头,但是,我似乎无法找到有关如何通过PHP AMQP库检索它的任何文档。

任何人对如何实现这一点有任何想法?

application_headers属性中检查它。

以下是来自示例的简要修改代码:

/**
 * @param \PhpAmqpLib\Message\AMQPMessage $msg
 */
function process_message($msg)
{
    $headers = $msg->get('application_headers');
    $props = ['x-death'];

    // OR

    $props = $msg->get_properties();
    $props['application_headers']['x-death'];

    $msg->delivery_info['channel']->basic_ack($msg->delivery_info['delivery_tag']);
}


$ch->basic_consume($queue, $consumer_tag, false, false, false, false, 'process_message');

只是为@ pinepain的答案添加更多内容。 您也可以执行以下操作:

/** @var AMQPMessage $message */
$props = $message->get_properties();
/** @var AMQPTable $applicationHeaders */
$applicationHeaders = $props['application_headers'];
$xdeath = $applicationHeaders->getNativeData()['x-death'];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM