国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

workerman重啟后,之前的進程依然在執(zhí)行onWorkerStart方法

daij

因業(yè)務場景需求,我在workerman的回調方法onWorkerStart中,加入了定時工作內容(使用的workerman的Timer類),每隔20秒執(zhí)行一次數(shù)據(jù)庫操作
但是重啟workerman后(php start.php restart),發(fā)現(xiàn)同時有2個進程在執(zhí)行onWorkerStart方法的內容(重啟前的workerman與重啟后新開的workerman,或者是我理解錯了,但是確實這個方法有2個進程在同時執(zhí)行),請問這個是為什么呢,另外,之前的進程會于數(shù)個小時后,才會自己注銷并停止onWorkerStart的代碼執(zhí)行
因為目前2個方法同時執(zhí)行會影響到數(shù)據(jù)內容,所以必須在重啟時,強制刪除前一個進程才能保證功能的正常運行,當前是找運維在服務器中強制刪除前一個進程,請問有什么別的更好的辦法嗎?
還有,因為之前開發(fā)的時候,socket連接中儲存了用戶的一些數(shù)據(jù),所以沒有使用平滑重啟,是否必須使用平滑重啟才可以?
請大佬們不吝賜教,非常感謝

3058 2 0
2個回答

xiuwang

是不是開了2個進程,因為每個進程都執(zhí)行onWorkerStart,所以有2個進程在執(zhí)行定時器

  • 暫無評論
dignfei

手動控制:定時任務之前檢查一下,發(fā)現(xiàn)2個進程時,手動關閉舊的

  • 暫無評論
年代過于久遠,無法發(fā)表回答
??