0
我的RabbitMQ監聽器已經開始提升pika.exceptions.BodyTooLongError異常。我從來沒有見過他們。處理pika.exceptions.BodyTooLongError
Google對此錯誤及其原因幾乎沒有透露。
回溯錯誤消息我得到的是:
'NoneType' object has no attribute 'body_size'
Traceback (most recent call last):
File "./foo.py", line 585, in <module>
channel.start_consuming()
File "/usr/local/lib/python2.7/dist-packages/pika/adapters/blocking_connection.py", line 1681, in start_consuming
self.connection.process_data_events(time_limit=None)
...
File "/usr/local/lib/python2.7/dist-packages/pika/channel.py", line 1246, in _handle_body_frame
self._header_frame.body_size)
pika.exceptions.BodyTooLongError: (180, 90)
我有點這個疑惑。 NoneType沒有任何屬性 - 錯誤聽起來有點像我的錯誤,而「Body too long」表示某種資源耗盡情況,這應該不成問題。
我該怎麼做?更好地退出並重新啓動程序?忽略錯誤並假設一些數據丟失?有問題的程序是訂閱某些路由鍵以收聽發佈給他們的消息的接收方,因此不會有任何迴應機制將任何內容反饋給發件人或RabbitMQ以恢復丟失的數據。
任何想法可能導致這種情況?客戶端代碼沒有改變,但消息更加頻繁。
哈努哈利
您也可以使用線程安全的AMQP庫!例如rabbitpy – eandersson