應(yīng)用場(chǎng)景是:我項(xiàng)目中要給用戶的一個(gè)notifyUrl推送數(shù)據(jù),不管用戶收沒收到數(shù)據(jù),我這邊沒有收到用戶返回的SUCCESS則會(huì)隔5分鐘再推送一次(只到3次后放棄推送)。如果用戶收到我的數(shù)據(jù),并給我返回SUCCESS,我這邊則不再給此用戶推送數(shù)據(jù)。會(huì)有很多用戶同時(shí)應(yīng)用上面的場(chǎng)景。我第一次做這個(gè),思維很混亂,看了半天的文檔也沒怎么清晰明白,麻煩walkor大神有空給我解答下思路或者源碼。感激不盡
說一種簡(jiǎn)單方法
用數(shù)據(jù)庫(kù)保存 需要推送的用戶,推送的信息,成功狀態(tài),次數(shù)
定時(shí)任務(wù)每隔5分鐘就從數(shù)據(jù)庫(kù)中取 次數(shù)小于3的未成功的數(shù)據(jù)推送出去.,次數(shù)+1
接收到succuse后就把成功狀態(tài)標(biāo)記一下即可
這種定時(shí)器一秒鐘就刷新一次。數(shù)據(jù)庫(kù)會(huì)不會(huì)有壓力,并發(fā)次數(shù)高了的話?我用的是mysql