2012-02-09 55 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