http://www.rabbitmq.com/tutorials/tutorial-two-python.html에서 "hello world"자습서를 사용하고 있습니다. worker.py
이python에서 rabbitmq를 사용하는 중에 "pika.exceptions.ConnectionClosed"오류가 발생합니다
import pika
import time
connection = pika.BlockingConnection(pika.ConnectionParameters(
host='localhost'))
channel = connection.channel()
channel.queue_declare(queue='task_queue', durable=True)
print ' [*] Waiting for messages. To exit press CTRL+C'
def callback(ch, method, properties, body):
print " [x] Received %r" % (body,)
time.sleep(body.count('.'))
print " [x] Done"
ch.basic_ack(delivery_tag = method.delivery_tag)
channel.basic_qos(prefetch_count=1)
channel.basic_consume(callback,
queue='task_queue')
channel.start_consuming()
처럼 나는 내 작품에 구현하기 위해이 코드를 사용했습니다 보인다. 이 [x] Done
Traceback (most recent call last):
File "hullworker2.py", line 242, in <module>
channel.basic_consume(callback,queue='test_queue2')
File "/usr/local/lib/python2.7/dist-packages/pika/channel.py", line 211, in basic_consume
{'consumer_tag': consumer_tag})])
File "/usr/local/lib/python2.7/dist-packages/pika/adapters/blocking_connection.py", line 904, in _rpc
self.connection.process_data_events()
File "/usr/local/lib/python2.7/dist-packages/pika/adapters/blocking_connection.py", line 88, in process_data_events
if self._handle_read():
File "/usr/local/lib/python2.7/dist-packages/pika/adapters/blocking_connection.py", line 184, in _handle_read
super(BlockingConnection, self)._handle_read()
File "/usr/local/lib/python2.7/dist-packages/pika/adapters/base_connection.py", line 300, in _handle_read
return self._handle_error(error)
File "/usr/local/lib/python2.7/dist-packages/pika/adapters/base_connection.py", line 264, in _handle_error
self._handle_disconnect()
File "/usr/local/lib/python2.7/dist-packages/pika/adapters/blocking_connection.py", line 181, in _handle_disconnect
self._on_connection_closed(None, True)
File "/usr/local/lib/python2.7/dist-packages/pika/adapters/blocking_connection.py", line 232, in _on_connection_closed
self._channels[channel]._on_close(method_frame)
File "/usr/local/lib/python2.7/dist-packages/pika/adapters/blocking_connection.py", line 817, in _on_close
self._send_method(spec.Channel.CloseOk(), None, False)
File "/usr/local/lib/python2.7/dist-packages/pika/adapters/blocking_connection.py", line 920, in _send_method
self.connection.send_method(self.channel_number, method_frame, content)
File "/usr/local/lib/python2.7/dist-packages/pika/adapters/blocking_connection.py", line 120, in send_method
self._send_method(channel_number, method_frame, content)
File "/usr/local/lib/python2.7/dist-packages/pika/connection.py", line 1331, in _send_method
self._send_frame(frame.Method(channel_number, method_frame))
File "/usr/local/lib/python2.7/dist-packages/pika/adapters/blocking_connection.py", line 245, in _send_frame
super(BlockingConnection, self)._send_frame(frame_value)
File "/usr/local/lib/python2.7/dist-packages/pika/connection.py", line 1312, in _send_frame
raise exceptions.ConnectionClosed
pika.exceptions.ConnectionClosed
연결이 과정 사이에 자동으로 폐쇄하는 방법을 이해하지 않습니다를 인쇄 한 후 예외가 발생하는 큐의 포인트가 제공됩니다 전까지 모든 것이 원활하게 작동합니다. 프로세스가 큐의 메시지 100에 대해 정상적으로 실행되면 갑자기이 오류가 발생합니다. 도움을 주시면 감사하겠습니다.
스택 추적 오류를 복사하거나 붙여 넣을 수 있습니까? 그것은 역 추적 같은 (가장 최근 통화 마지막)로 시작해야합니다 파일 "", 라인 1, 에 ..... 나는 QUES를 업데이트 한 @kobejohn –
KobeJohn
을 내가 그렇게 rabbitmq 설정이없는 그것을 – sau
를 참조하십시오 나는 단지 짐작하고있다. traceback이 basic_consume에 오류를 표시하는 것이 이상하게 보입니다. start_consuming() 이후까지 콜백이 실행되지 않아야합니다. 충돌 전에 얼마나 오래 작동합니까? – KobeJohn