gpt4 book ai didi

rabbitmq - 如何为RabbitMQ启用服务器端心跳?

转载 作者:行者123 更新时间:2023-12-04 15:32:25 28 4
gpt4 key购买 nike

我在 PhoneGap 上使用 web-stomp 插件 + SockJS/Stomp.js 并观察到在某些情况下(可能与网络有关),流量可以停止而不会触发连接错误。为了解决这个问题,我想我可能会使用心跳,所以我在我的js中添加了以下内容:

function Connect() {
console.log('Connecting...');
// Connect
var ws = new SockJS(mq_url);
client = Stomp.over(ws);
client.heartbeat.outgoing = 5000; // if 5000 means client will send heart beat every 5000ms
client.heartbeat.incoming = 5000; // if 0 means client does not want to receive heartbeats from server
client.debug = function (str) {
$("#debug").append(timeStamp() + str + "<br>");
varmessage = str;
};
client.connect(
mq_username, mq_password, on_connect, on_connect_error, mq_vhost);
}

但是,服务器不会发送心跳,因此会引发以下错误:
-> PING
-> PING
did not receive server activity for the last 10017ms
Whoops! Lost connection to undefined

我尝试将心跳参数添加到 rabbitmq.config,但这似乎不起作用。该文档没有提到心跳参数是用于客户端还是服务器心跳。
[
{rabbit, [
{cluster_nodes, {['rabbit@server'], disc}},
{cluster_partition_handling, autoheal},
{heartbeat, 1}
]},

最佳答案

心跳参数在客户端实现。 RabbitMQ 会响应客户端发出的心跳。服务端可以要求客户端每隔一定的时间间隔发送一次心跳,但客户端不必跟随。 AMQP Reference ; RabbitMQ reference

关于rabbitmq - 如何为RabbitMQ启用服务器端心跳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21020945/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com