使用redis-queue 時不時就出現(xiàn)這個waiting,除非執(zhí)行重啟服務(wù),否則的話,這個隊(duì)列會一直增加,但是不消費(fèi),這個是什么問題?該怎樣處理的?
把消費(fèi)邏輯都去掉試下,排除消費(fèi)代碼問題,例如死循環(huán),訪問數(shù)據(jù)庫、redis、curl等超時等情況
超時情況會導(dǎo)致被放入到waiting里面么?如果是這樣,怎樣避免超時的被放入這個里面的,好像這個里面的只有重啟時才會再次被消費(fèi)
waiting應(yīng)該是需要立刻消費(fèi)的消息。 我的意思是應(yīng)該是你業(yè)務(wù)邏輯卡住了,不能往下執(zhí)行了,得自己找那段代碼卡住了。所有的進(jìn)程都卡住了,所以無法消費(fèi)了。
消費(fèi)代碼應(yīng)該沒問題,一旦出現(xiàn){redis-queue}-waiting后,后續(xù)的都會進(jìn)入{redis-queue}-waiting
控制臺也沒有任何報(bào)錯!重啟服務(wù)就又可以執(zhí)行了
記錄日志,看下消費(fèi)了沒
應(yīng)該是代碼超時問題
業(yè)務(wù)邏輯代碼貼出來看下
感覺也是業(yè)務(wù)邏輯阻塞了
怎么解決的,我現(xiàn)在也是這樣的問題
我一般出現(xiàn)這樣時,是因?yàn)槲业膔edis消費(fèi)進(jìn)程沒有啟動。啟動的時候,確??吹絧lugin.redis.consumer進(jìn)程的名字