我們的 Python 服務(wù)器(Django 1.11.17)使用 Celery 4.2.1 和 Redis 作為代理(我們使用的 pip redis 包是 3.0.1)。Django 應(yīng)用程序部署到 Heroku,Celery 代理是使用 Heroku 的 Redis Cloud 附加組件設(shè)置的。我們的 Celery 任務(wù)肯定應(yīng)該在一分鐘內(nèi)完成(平均完成時間約為 100 毫秒),但我們看到 Redis 鍵和連接的持續(xù)時間比這要長得多(最多 24 小時)。否則,任務(wù)正在正確執(zhí)行。是什么導(dǎo)致了我們的 Redis 代理中的這些持久鍵和連接?當(dāng) Celery 任務(wù)結(jié)束時,我們?nèi)绾吻宄鼈??這是發(fā)生這種情況的 Redis Labs 屏幕截圖(所有任務(wù)都應(yīng)該已完成,因此我們期望零鍵和零連接):
1 回答

一只甜甜圈
TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超5個贊
解決了我自己的問題:如果將CELERY_IGNORE_RESULT
config 變量設(shè)置為True
(我能夠這樣做,因?yàn)槲也皇褂萌蝿?wù)的任何返回值),則鍵和連接將重新得到控制。
添加回答
舉報(bào)
0/150
提交
取消