2013-11-13 5 views
2

Люди, Я пытаюсь проверить соединения, которые выходят из системы, и записывать в журнал, если это произойдет.RabbitMQ python library check status

credentials = pika.PlainCredentials(username, password) 
parameters = pika.ConnectionParameters(
    credentials=credentials, 
    host='localhost', 
    port=tcpport, 
    virtual_host='/vhost') 
if pika.BlockingConnection(parameters): 
    log_error("RabbitMQ Accepts non-SSL Connections") 
else: 
    log_info("RabbitMQ Not accepting non-SSL connections") 

По какой-то причине, это не работает, и выплевывая:

WARNING:pika.adapters.base_connection:Connection to 127.0.0.1:8080 failed: [Errno 111] Connection refused 
Traceback (most recent call last): 
    File "./rabbit_test.py", line 141, in <module> 
    main() 
    File "./rabbit_test.py", line 129, in main 
    check_non_ssl('username', 'password') 
    File "./rabbit_test.py", line 40, in check_non_ssl 
    if pika.BlockingConnection(parameters): 
    File "/usr/lib/python2.6/site-packages/pika/adapters/blocking_connection.py", line 107, in __init__ 
    super(BlockingConnection, self).__init__(parameters, None, False) 
    File "/usr/lib/python2.6/site-packages/pika/adapters/base_connection.py", line 62, in __init__ 
    on_close_callback) 
    File "/usr/lib/python2.6/site-packages/pika/connection.py", line 590, in __init__ 
    self.connect() 
    File "/usr/lib/python2.6/site-packages/pika/adapters/blocking_connection.py", line 206, in connect 
    if not self._adapter_connect(): 
    File "/usr/lib/python2.6/site-packages/pika/adapters/blocking_connection.py", line 275, in _adapter_connect 
    raise exceptions.AMQPConnectionError(1) 
pika.exceptions.AMQPConnectionError: 1 

Как я могу поймать неудачи и оповещение о них и продолжают свои чеки, а не сценарий вспыхивают?

Спасибо!

ответ

2

Вместо if/else пункта, который оценивает заявление как логическое значение, вы можете использовать try и except поймать ошибки:

try: 
    pika.BlockingConnection(parameters) 
    log_error("RabbitMQ Accepts non-SSL Connections") 
except: # if the anything goes wrong, go here 
    log_info("RabbitMQ Not accepting non-SSL connections") 
+0

отлично, спасибо! – Cmag

+1

Добро пожаловать! – aIKid

 Смежные вопросы

  • Нет связанных вопросов^_^