2015-06-19 6 views
2

У меня есть несколько виртуальных машин по всему миру, все одинаковые и с тем же кодом на Python (И такая же версия библиотеки pika 0.9.13). Только один из них не удается из-за handshake_timeout:Handshake_timeout на RabbitMQ, используя python и pika из удаленного vm

=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> 

Я проверил соединение с телнет следующей данного руководства : 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

Смежные вопросы