2012-02-09 53 views
1

我正在使用RabbitMQ和PHP(通过php-amqplib)。但服务器,我的用户正在运行,其连接非常不稳定。因此,每个15-30分钟的用户都会丢失与远程rabbitmq服务器的连接,但php守护进程仍在运行。在这种情况下是否有解决方案来处理有损连接?RabbitMQ和不稳定的连接

回答

2

您应该使用检测信号进行连接,但如果问题仍然存在,那么最好记录连接错误以验证连接情况。

+0

你可以参考一个很好的例子,其中使用心跳...我试图使用它,它是在一个受保护的功能...所以必须破解AMQP执行...但找不到一个地方,我可以只需将它作为参数传递给构造函数或函数,并让代码完成剩下的工作。 – Nasaralla 2013-01-03 17:21:23

+0

@Nasaralla我没有使用PHP来连接到兔子。我使用了NET,但是如果您使用的库类似于C#客户端库,则应该可以在连接工厂中设置心跳值。 请参阅http://www.rabbitmq.com/releases/rabbitmq-dotnet-client/v3.0.1/rabbitmq-dotnet-client-3.0.1-client-htmldoc/html/type-RabbitMQ.Client.ConnectionFactory.html – Endymion 2013-01-04 22:41:12

+0

继续... @Nasaralla 如果您正在使用的php库没有提供类似的连接构造,我建议您向作者询问以支持自定义心跳,因为它是非常重要的连接设置。最后,正如你所说,你最后的机会是破解图书馆。我希望这有帮助 – Endymion 2013-01-04 22:42:32