我将ConnectionFactory Heartbeat设置为40秒。根据RabbitMQ文档中的定义,这意味着当每20秒向服务器发送一次心跳时,40秒后应断开连接。如果我的队列正在同步2分钟,那么当队列进入同步状态时我没有得到任何异常。我在客户端获得的唯一指示是我在大约2分钟后得到一个Socket.Net.Sockets.SocketException告诉我套接字超时。然而,这太长了,无法停留并等待队列。
有没有办法从客户端获取队列状态更改事件?我考虑过定期向管理员发出HTTP请求,并在发生超时之前使用该数据来确定我的队列是否不可用。我的目的是在同步第一个队列时将消息重新路由到另一个队列。