業(yè)務(wù)邏輯是:每天將設(shè)備庫存不足的信息記錄到mysql表中,然后根據(jù)用戶設(shè)置的推送時(shí)間段,來進(jìn)行微信模板消息推送, 業(yè)務(wù)測(cè)試當(dāng)天無任何問題,第二天 就不推送了。 而這時(shí)我直接執(zhí)行php腳本還是能收到微信推送信息。不知道怎么辦咯。。。
第二天查看 status 的情況
[attach]1060[/attach]
日志情況:
[attach]1059[/attach]
定時(shí)器使用代碼截圖
[attach]1058[/attach]
目前改 linux 計(jì)劃任務(wù) 隔天 仍正常運(yùn)行中....
更新了wokerman最新版本后,定時(shí)器里跑時(shí)間長(zhǎng) 仍然還是不執(zhí)行PHP腳本了。
現(xiàn)在在 計(jì)劃任務(wù)里繼續(xù)測(cè)試中...
看到 BusinessWorker 的 exit_count 為 12,貌似有報(bào)錯(cuò)退出的情況發(fā)生。如果是 timer handler 所在的進(jìn)程報(bào)錯(cuò)的話,將導(dǎo)致進(jìn)程退出,重啟后 worker id 不同,則無法重新設(shè)置定時(shí)器。
保險(xiǎn)的辦法,可以在 timer handler 里面輸出 log 以觀察是否還活著,同時(shí)用 try/catch 捕獲所有可能的異常。還不行的話用 register_shutdown_function 看看程序是怎么退出的。