rabbitpy - Исключение не вызывается вне контекстного менеджера - PullRequest
0 голосов
/ 17 июня 2019

Публикация на несуществующей бирже с rabbitpy не вызывает исключения, если не используется с блоком:

>>> conn = rabbitpy.Connection('amqp://LenelRabbit:Secur1ty%23@ms7:5672/LenelHost')
>>> ch = conn.channel()
>>> msg = rabbitpy.Message(ch, body_value='hello')
>>> msg.publish(exchange='invalid')
>>>

Использование Channel в качестве диспетчера контекста вызывает ошибку:

>>> conn = rabbitpy.Connection('amqp://myuser:mypass@ms7:5672/myhost')
>>> with conn.channel() as ch:
...     msg = rabbitpy.Message(ch, body_value='hello')
...     msg.publish(exchange='invalid')
...
Traceback (most recent call last):
  File "<stdin>", line 3, in <module>
  File "D:\Programming\mqclient\env36x64\lib\site-packages\rabbitpy\channel.py", line 101, in __exit__
    self.close()
  File "D:\Programming\mqclient\env36x64\lib\site-packages\rabbitpy\channel.py", line 147, in close
    super(Channel, self).close()
  File "D:\Programming\mqclient\env36x64\lib\site-packages\rabbitpy\base.py", line 204, in close
    self._check_for_pending_frames()
  File "D:\Programming\mqclient\env36x64\lib\site-packages\rabbitpy\base.py", line 318, in _check_for_pending_
frames
    self._check_for_rpc_request(value)
  File "D:\Programming\mqclient\env36x64\lib\site-packages\rabbitpy\channel.py", line 271, in _check_for_rpc_r
equest
    super(Channel, self)._check_for_rpc_request(value)
  File "D:\Programming\mqclient\env36x64\lib\site-packages\rabbitpy\base.py", line 328, in _check_for_rpc_requ
est
    self._on_remote_close(value)
  File "D:\Programming\mqclient\env36x64\lib\site-packages\rabbitpy\base.py", line 380, in _on_remote_close
    raise exceptions.AMQP[value.reply_code](value)
rabbitpy.exceptions.AMQPNotFound: <pamqp.specification.Channel.Close object at 0x333e438>
  • Python 3.6.8 x64
  • rabbitpy 2.0.0
  • RabbitMQ server 3.7.4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...