0
私はPythonを学んでいます。私は奇妙な問題にぶつかります。私は私のmacOS SierraローカルボックスでRabitMQを実行しています。 PythonスクリプトからRabbitMQサーバーに接続すると常にソケットタイムアウトエラーが発生します。同時に私はtelnetで接続することができます。 は、Python 2.7とライブラリ昆布を実行:PythonからRabbitMQに接続できませんでした
# test.py
from kombu import Connection
connection = Connection('amqp://127.0.0.1')
connection.connect()
結果:
Thunderstorm:test max$ python test.py
Traceback (most recent call last):
File "test.py", line 6, in <module>
connection.connect()
File "/Library/Python/2.7/site-packages/kombu/connection.py", line 261, in connect
return self.connection
File "/Library/Python/2.7/site-packages/kombu/connection.py", line 802, in connection
self._connection = self._establish_connection()
File "/Library/Python/2.7/site-packages/kombu/connection.py", line 757, in _establish_connection
conn = self.transport.establish_connection()
File "/Library/Python/2.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Library/Python/2.7/site-packages/amqp/connection.py", line 300, in connect
self.drain_events(timeout=self.connect_timeout)
File "/Library/Python/2.7/site-packages/amqp/connection.py", line 464, in drain_events
return self.blocking_read(timeout)
File "/Library/Python/2.7/site-packages/amqp/connection.py", line 468, in blocking_read
frame = self.transport.read_frame()
File "/Library/Python/2.7/site-packages/amqp/transport.py", line 237, in read_frame
frame_header = read(7, True)
File "/Library/Python/2.7/site-packages/amqp/transport.py", line 377, in _read
s = recv(n - len(rbuf))
socket.timeout: timed out
それは数秒かかり、タイムアウトを返します。この瞬間、RabbitMqのログで私は見ています:
=INFO REPORT==== 1-Mar-2017::12:25:00 ===
accepting AMQP connection <0.23773.4> (127.0.0.1:60600 -> 127.0.0.1:5672)
=WARNING REPORT==== 1-Mar-2017::12:25:08 ===
closing AMQP connection <0.23773.4> (127.0.0.1:60600 -> 127.0.0.1:5672):
client unexpectedly closed TCP connection
ファイアウォールがオフになっています。 Telnet接続の成功:
Thunderstorm:test max$ telnet 127.0.0.1 5672
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
この問題をどのようにデバッグできますか?
を接続するには、あなたがTelnetでそうであるようにあなたは、接続のポート番号を入れてみましたがありますか? 'Connection( 'amqp://127.0.0.1:5672')' – Dillanm
はい、私はportと一緒にデフォルトの資格情報を使っていましたが、常に同じ結果が得られました。 '接続( 'amqp://ゲスト:[email protected]:5672')'接続( 'amqp://127.0.0.1:5672') ''接続 –