2015-06-19 21 views
2

我在世界各地都有幾個虛擬機,全部完全相同,並且使用相同的python代碼(和pika 0.9.13相同的庫版本)。其中只有一個是因爲handshake_timeout的失敗:在RabbitMQ上使用python和pika從遠程虛擬機執行handshake_timeout

=ERROR REPORT==== 17-Jun-2015::12:27:07 === 
closing AMQP connection <0.290.0> (YY.YY.YY.YY:47232 -> XX.XX.XX.XX:5672): 
{handshake_timeout,handshake} 

是從RabbitMQ的記錄所採取的,在客戶端代碼中,我看到類似

ERROR:pika.adapters.base_connection:Connection to XX.XX.XX.XX:5672 failed: timeout 
Unhandled exception in thread started by <function listen_for_start_download_message at 0x1e5bcf8> 

我已經測試了這個指南通過telnet連接: http://rubybunny.info/articles/troubleshooting.html

我已經增加了handshake_timeout至40000毫秒,ssl_handshake_timeout 20000毫秒,錯誤仍然存​​在,在坪地的RabbitMQ服務器從機是稍高於其他機器,但沒有任何異常(136毫秒)。有沒有人發現過類似的問題,或者有人可以推薦另一種方法來測試rabbitMQ連接嗎?

+0

我會建議你嘗試一個替代庫到pika,或者至少升級到pika 0.9.14。目前Pika目前還有一張外卡。 – eandersson

+0

我試過機智的最新版本,但仍得到相同的結果。我會嘗試用py-amqp或py-amqplib,因爲我想不出其他什麼。 – Kreender

+1

我很確定它與此設置有關。在解決另一個pika問題時,我遇到了類似的問題。 https://github.com/pika/pika/blob/0.9.14/pika/adapters/blocking_connection.py#L118 btw隨時可以嘗試我的amqp庫作爲替代以及=] https:// github .com/eandersson/amqp-storm – eandersson

回答

0

我真的不確定這是否可以解決任何有此問題的人,但在我的情況下,通過在有問題的vm上安裝這些庫解決了問題:amqp-tools和librabbitmq1只需使用apt-get install。我不知道爲什麼其他vms有這些庫,有問題的庫沒有,但事實就是如此。

+0

你把它們安裝在兔子身上嗎?在客戶機上? – FuzzyAmi