【问题标题】:How to create consumer Rabbitmq dynamically?如何动态创建消费者 Rabbitmq?
【发布时间】:2019-06-09 02:02:00
【问题描述】:

是否可以动态启动 RabbitMQ 消费者。在特定时间后平均将消费者连接到存在队列?

还是应该提前创建所有消费者?

当队列被消息填充时,我的情况可以没有消费者。我可以在一段时间后连接消费者吗?

【问题讨论】:

标签: rabbitmq


【解决方案1】:

是的,您可以像尚未创建频道一样进行操作。 node.js 的示例

const conn = await amqplib.connect(`${rabbitmq.url}?heartbeat=300`);
conn.on('error', function (err) {
    api.log.error('AMQP:Error:', err);
});
conn.on('close', () => {
    api.log.info("AMQP:Closed");
});

const ch = await conn.createChannel();
await ch.assertQueue(queue_name, queue_options); // check if queue_name exists,
                                                 // if not, creates it
await ch.consume(queue_name, callback) // message from queue goes to callback

【讨论】:

  • Спасибо,Егор!那么,如果客户端离线,我也可以停止消费者吗?
  • @OPV 消费者客户。请注意,消费者不是由 RabbitMQ 服务器创建,而是由客户端创建。
  • 只有当你从其他一些来源知道没有消费者时
猜你喜欢
  • 1970-01-01
  • 2014-09-29
  • 1970-01-01
  • 1970-01-01
  • 2011-04-15
  • 2013-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多