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