php start.php reload
我有一個(gè)創(chuàng)建的定時(shí)器 會(huì)每隔1秒向長(zhǎng)連接客戶端推送倒計(jì)時(shí)
重啟服務(wù)或者平臺(tái)重啟 倒計(jì)時(shí)推送就會(huì)停止了
這種情況該怎么處理好一點(diǎn)
倒計(jì)時(shí)為0 的時(shí)候會(huì)觸發(fā)下一個(gè)定時(shí)器推送對(duì)戰(zhàn)結(jié)果
這個(gè)也會(huì)跟著消失了
都是最新版本
直接reload 定時(shí)器肯定沒有了,提供服務(wù)的進(jìn)程重啟了。
當(dāng)然你可以reload -g 這樣的話,舊的服務(wù)不會(huì)處理新連接,新開的worker會(huì)處理新連接。
那么舊worker什么時(shí)候退出,在舊worker連接數(shù)0的時(shí)候。
如果你想要某個(gè)worker 不被reload 所干擾導(dǎo)致連接斷開。
你可以看看這個(gè):http://www.wtbis.cn/doc/workerman/worker/reloadable.html
對(duì)應(yīng)不想要被reload干擾的worker, reloadable = false; 就可以了,這樣其余worker reload,不會(huì)干擾你有定時(shí)器這個(gè)服務(wù)。
不能把全部要執(zhí)行的定時(shí)器計(jì)劃放到數(shù)據(jù)庫(kù)嗎?比如今天計(jì)劃要給877 878 879三個(gè)客戶推送倒計(jì)時(shí),沒推的時(shí)候,標(biāo)記為0,開始推了,開始推標(biāo)記為1,結(jié)束標(biāo)記為2,Timer每2秒檢查一次計(jì)劃表,每次重啟服務(wù)器,就在服務(wù)進(jìn)程初始化方法里 刪除全部正在進(jìn)行的任務(wù),重新開啟標(biāo)記為1的任務(wù),這樣不知道能不能行