消费者在 30-40 分钟后从队列中消失

Consumer disappears from queue after 30-40 mins

我的应用在正常运行 30-40 分钟后就从 RabbitMQ Admin 的消费者列表中消失了。使用的 AMQP 库:node-amqp。这是连接:

const con = amqp.createConnection(options,{defaultExchangeName: 'amq.topic', reconnect: true})

还配置了以下事件处理程序:connect, ready, close, tag.change, error

最糟糕的是我没有收到任何错误或关闭事件,应用程序只是断开连接并且不记录任何内容...

似乎连接已终止 'idle' 一段时间...

有没有人遇到过类似的事情?你是怎么处理的?

也许这对某人有帮助。要解决此问题,我们必须将 heartbeat 字段设置为 options 并指定必须检查和刷新连接的时间间隔(以秒为单位)。 heartbeat 没有任何默认值,所以如果没有明确添加,amqp 将不会使用它。