接到一個(gè)開發(fā)任務(wù),需求是當(dāng)報(bào)警超過X分鐘未處理則通知用戶,
我打算用redis-queue任務(wù)隊(duì)列來做,當(dāng)某個(gè)設(shè)備觸發(fā)報(bào)警時(shí) 就把[設(shè)備id]和[觸發(fā)時(shí)間]字段插入到任務(wù)隊(duì)列,
,消費(fèi)者進(jìn)程獲得[設(shè)備id]和[觸發(fā)時(shí)間]字段,然后以[設(shè)備id]字段為條件查詢數(shù)據(jù)庫表判斷[觸發(fā)時(shí)間]是否超過報(bào)警時(shí)間.
超過報(bào)警時(shí)間則進(jìn)行消息通知,未超過報(bào)警時(shí)間則插入任務(wù)隊(duì)列進(jìn)行下一個(gè)循環(huán)的消費(fèi)
這個(gè)方案我總感覺不夠好. 不知道論壇里的朋友們有沒有做過類似的需求 能提供更優(yōu)秀的解決方案 我可以打賞