python - celery+rabbitmq非同步任務,佇列訊息一直在增加
高洛峰
高洛峰 2017-06-22 11:51:49
0
1
1048

celery 配合 rabbitmq 進行非同步任務時,發現 rabbitmq 裡訊息的數量是一直增加的,但是這些訊息其實也已經被 task 處理掉.

查看 rabbimtq 自帶的後台,發現 Queued messages 裡面,ready 和 total 的數量都達到了 5000 多,unacknowledged 的值為 0。不過實際在工作的時候,unacknowledged 的值會變化的,但是最後會變成0
celery 的配置也沒有特殊的地方,就只設定瞭如下的內容
CELERY_IMPORTS = ('testtasks',)
BROKER_URL = 'amqp://guest:guest@localhost:5672//'
CELERY_RESULT_BACKEND = 'amqp://'

接著看系統的資源,erl 的進程記憶體比較大,大概暫用了 300 多 M
是我這邊 celery 的配置有問題麼?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回覆 (1)
曾经蜡笔没有小新

已經解決了,升級了 rabbitmq 到 3.3 以上版本就可以了。
之前用的是 rabbitmq 3.1 的版本,然後 celery 是 3.1 的版本


真正解決問題的方法是,在task裡增加一個ignore_result=True屬性,如下
@app.task(ignore_result=True)

    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!