2017-03-01 13 views
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 '^]'. 

この問題をどのようにデバッグできますか?

+0

を接続するには、あなたがTelnetでそうであるようにあなたは、接続のポート番号を入れてみましたがありますか? 'Connection( 'amqp://127.0.0.1:5672')' – Dillanm

+1

はい、私はportと一緒にデフォルトの資格情報を使っていましたが、常に同じ結果が得られました。 '接続( 'amqp://ゲスト:[email protected]:5672')'接続( 'amqp://127.0.0.1:5672') ''接続 –

答えて

1

増加デフォルトで解決この問題は、タイムアウト

Connection('amqp://127.0.0.1/', connect_timeout=15) 
関連する問題