2016-07-19 11 views
0

pikaを使用してキューに接続しようとしています。ローカルボックスで実行し、rabbitmqをドッキングコンテナで実行します。私はhttp://0.0.0.0:15677にcurlコマンドとウェブブラウザで表示することでrabbitmqにアクセスすることができるので、うまく動いているように見えることがわかりましたが、Pythonを使ってrabbitmqに接続することはできません。RabbitMQ on Docker:指定されたポートで接続時にPikaがハングアップし、ポートなしで接続が拒否されました。

pika.ConnectionParemetersにポートを含めないと、接続はすぐに拒否されます。ポートを含めると、接続がハングアップし、rabbitmqの側には決して表示されません。ドッカーやピカとファンキーなことが起こっているのかどうかはわかりませんが、私のコードはドッカーコンテナでないrabbitmqサーバに接続していることに言及する価値があります。

私はOSXの最新バージョンを実行しており、python 2.7とpika 0.10.0を使用しています。

RMQ_URL = '0.0.0.0' 
HOST_QUEUE = 'snarfer' 
VHOST = 'beta' 
RMQ_PORT = 15677 
ROUTING_KEY = 'snarfer.discovery' 


self.connection = pika.BlockingConnection(pika.ConnectionParameters(
host=s.RMQ_URL, virtual_host=s.VHOST, port=s.RMQ_PORT)) 

***編集:ConnectionParametersへの資格情報の追加は何も行いません。

+1

ConnectionParametersはどのように見えますか?ホストの価値は何ですか? – ldg

+0

どのldgが言った - またコード – cantSleepNow

答えて

1

AMQPクライアントの管理Web UIのTCPポートを使用すると、動作しません.RabbitMQはAMQPフレームではなく、そのポートでHTTP要求を受け取ります。そのため、クライアントがハングアップしているように見えます。

TCPポートを指定しない場合、デフォルトのAMQPポートである5672が使用されます。管理UIポート(15677)によると、デフォルトでは、管理プラグインは$ amqp_port + 10000をリッスンするため、RabbitMQはポート5677でAMQP接続をリスンしているとします。

したがって、RMQ_PORT = 5677を試してください。

動作しない場合は、RabbitMQ設定を再確認してください。また、管理UIを参照してAMQPポートを確認してください。

+0

が問題でした - ありがとう! – hotPocket

関連する問題