在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  C  網(wǎng)絡(luò)安全/ 如何根據(jù)數(shù)據(jù)庫存儲的時間及時的執(zhí)行相關(guān)的方法?

如何根據(jù)數(shù)據(jù)庫存儲的時間及時的執(zhí)行相關(guān)的方法?

現(xiàn)在有一個任務(wù)執(zhí)行表

id 任務(wù)類型 訂單號 執(zhí)行時間 執(zhí)行狀態(tài) 執(zhí)行的類名
1 order 123 時間戳 是否執(zhí)行狀態(tài) 執(zhí)行類

這種怎么去實現(xiàn)在指定的時間去執(zhí)行相關(guān)的任務(wù)呀?

目前想到的做法是,定時任務(wù)定時的掃描表(總會有差值),然后判斷時間差。將時間差在20分鐘內(nèi)的(這個值只是亂定義的)任務(wù)通過一個消息隊列(目前使用的是amq),延遲發(fā)送給消費者執(zhí)行

考慮:如果全用延遲消息隊列,目前還不知道怎么持久化消息。只有數(shù)據(jù)庫去存這些任務(wù),但怎么去將這些數(shù)據(jù)庫存的任務(wù),及時的發(fā)送給消費者消費,還沒有解決辦法

回答
編輯回答
兔寶寶

一種可行的方案是使用zookeeper。
當你插入一條記錄時,在zookeeper中創(chuàng)建一個節(jié)點,并設(shè)置超時時間(自己算好執(zhí)行時間跟當前時間的時間差),然后對該節(jié)點設(shè)置watcher。當超時時間一過,watcher中會收到通知,此時執(zhí)行你想要執(zhí)行的方法就行

2017年12月24日 10:13