小编Den*_*nis的帖子

RabbitMQ RPC:独占队列锁定@ PHP

我正在尝试使用类似于此示例的 RabbitMQ 在 PHP 上构建 RPC 服务:http: //www.rabbitmq.com/tutorials/tutorial-six-java.html 我正在使用此 PECL 扩展:http://pecl。 php.net/package/amqp(版本 1.0.3)

问题是,当我向服务器添加标志 AMQP_EXCLUSIVE 时,我的回调队列(在客户端脚本中声明)被锁定。

这是我的服务器

// connect to server
$cnn = new AMQPConnection('...');
$cnn->connect();
$channel = new AMQPChannel($cnn);
// create exchange
$exchangeName = 'k-exchange';
$exchange = new AMQPExchange($channel);
$exchange->setName($exchangeName);
$exchange->setType(AMQP_EX_TYPE_DIRECT);
$exchange->declare();

// declare queue to consume messages from
$queue = new \AMQPQueue($channel);
$queue->setName('tempQueue');
$queue->declare();

// start consuming messages
$queue->consume(function($envelope, $queue)
    use ($channel, $exchange) {

    // create callback queue
    $callbackQueue = new \AMQPQueue($channel);
    $callbackQueue->setName($envelope->getReplyTo());
    $callbackQueue->setFlags(AMQP_EXCLUSIVE); // …
Run Code Online (Sandbox Code Playgroud)

locking rabbitmq task-queue

2
推荐指数
1
解决办法
5531
查看次数

标签 统计

locking ×1

rabbitmq ×1

task-queue ×1