rabbitmq不要在队列上推送消息。 Node.js的

时间:2016-04-02 14:56:04

标签: node.js queue rabbitmq amqp

以下是我如何建立联系。使用node.js和amqp模块

this.conn.exchange(name, options, function(ex) {
    console.log('Exchange ready');
    this.exchange = ex;

    var next = this.cb;
    delete this.cb;
    ex.publish('cbQueue', {
        id: 'asd',
        deliveryId: 'asdasd'
    });

    !!next && next(null);

}.bind(this));

当我运行此代码时,它显示交换已准备就绪,但在http://localhost:15672/#/queues cbQueue为空。

你知道吗?为什么?

1 个答案:

答案 0 :(得分:0)

在发送给rabbitmq之前,您的代码很可能已退出。

要对此进行测试,请在setTimeout

的电话周围加next
setTimeout(function(){
  !!next && next(null);
}, 500);

这会在调用next之前延迟半秒,允许发布到rabbitmq来完成