2017-06-15 68 views
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以恢復丟失的數據。

任何想法可能導致這種情況?客戶端代碼沒有改變,但消息更加頻繁。

哈努哈利

+0

您也可以使用線程安全的AMQP庫!例如rabbitpy – eandersson

回答

1

我已經跟進GitHub。如果沒有更多的信息或代碼來可靠地重現此問題,我們無法修復它。