Pika library을 사용하여 RabbitMQ를 사용하는 Python 응용 프로그램을 작성하려고합니다. 최신 버전 인 0.9.5를 사용하고 있습니다. 내 문제는 파이썬 코드가 RabbitMQ 사용자 이름과 암호가 올바르지 않은 것을 감지 할 수 없다는 것입니다. Pika 콜백을 등록하는 방법을 알 수 없기 때문에 오류를 알려줍니다. 나는이 스크립트를 실행하면Python이 내 RabbitMQ 암호가 실패했음을 어떻게 감지합니까?
import pika
class MyClient(object):
def __init__(self, host, username, password):
self.host = host
self.username = username
self.password = password
self.connection = None
def connect(self):
credentials = pika.PlainCredentials(self.username, self.password)
parameters = pika.ConnectionParameters(
host=self.host, credentials=credentials, heartbeat=True,
)
self.connection = pika.SelectConnection(
parameters, self.on_connected,
)
self.connection.add_on_close_callback(self.on_close)
self.connection.ioloop.start()
def on_connected(self, *args, **kw):
print 'I am connected!', args, kw
def on_close(self, *args, **kw):
print 'I am closed!', args, kw
my_client = MyClient('...', '...', '...')
my_client.connect()
# (Good, I remembered to remove the username and password
# before pasting to Stack Overflow!)
, 다음 ioloop
삼초 위의 비트에 대한 실행 및 다음 프로그램이 종료 : 내 코드는 다음과 같이 연결하고있다. 콜백을 등록하는 방법, 죽은 연결의 상태를 간단히 검사하는 방법, 오류가 발생했는지 확인하는 방법 또는 잘못된 암호 오류라는 것을 알아내는 방법을 알아낼 수 없습니다. 피카 문서에서 중요한 것을 놓친 적이 있습니까?
피카 0.9.5 오류 처리가 어떻게 작동하는지 이해할 수 있습니까? 아니면 내가 0.935 파이크의 이전 버전을 사용하여 회피 해야하는 일종의 끔찍한 실험입니다. 이제는이 새로운 개발 라인이 막 다른 골목이되었다는 것을 나타내는 this email message을 발견했습니다.
도움 주셔서 감사합니다.
아무 곳이나 제기 된 예외가 보이지 않으므로이를 잡는 것이 분명히 문제가됩니다. 라이브러리를 숨기지 않고 예외를 공유하도록 라이브러리를 유도하는 방법을 찾으면 좋습니다. - 적어도 그것이 존재한다는 것을 알고 기꺼이! –