相关疑难解决方法(0)

如何在不重启的情况下更改RabbitMQ Heartbeat

这里有几个关于 RabbitMQ 心跳的问题,但我还没有找到解决如何实际更改60 seconds(580 seconds在以前的版本中)的默认心跳值的问题。

如果消费者运行的时间超过60 seconds并且无法产生任何算作心跳的流量(例如PHP 消费者),RabbitMQ 将考虑消费者已死而关闭连接,但消费者可能会继续运行,并且当它尝试生成 ACK 时,连接已关闭,您会收到如下错误消息:

破裂的管道或封闭的连接

例如1800 seconds,可以将消费者端的心跳设置为更高的值,但是如果代理配置未更改,则将使用较低的值,如果是默认值 then 60 seconds。来自 RabbitMQ 文档:

默认情况下,代理和客户端将尝试协商心跳。当两个值都不为 0 时,将使用请求值中较低的一个。如果一侧使用零值(尝试禁用心跳)而另一侧不使用,则将使用非零值。

要更改心跳值,可以添加以下行/etc/rabbitmq/rabbitmq.conf(使用新的配置格式

heartbeat = 1800
Run Code Online (Sandbox Code Playgroud)

这需要重启,所以问题是:如何在不重启的情况下更改rabbitmq心跳值?

heartbeat rabbitmq consumer rabbitmqctl

3
推荐指数
1
解决办法
2193
查看次数

标签 统计

consumer ×1

heartbeat ×1

rabbitmq ×1

rabbitmqctl ×1