我在Evens.php的onWorkerStart回調(diào)中設(shè)置worker的id為0時(shí)去調(diào)用定時(shí)器執(zhí)行一個(gè)每5秒的任務(wù),該任務(wù)是向客戶端推送消息,前兩天都是正常的每5秒鐘執(zhí)行一次推送消息,可是過(guò)了幾天以后,再次打開(kāi)客戶端發(fā)現(xiàn),服務(wù)器的定時(shí)任務(wù)不再是5秒推送一次消息了,而是每秒鐘會(huì)推送很多次消息,這是為什么啊
?
?
如果代碼里只有這個(gè)一個(gè)定時(shí)器,并且限定了 BusinessWorker->id === 0 應(yīng)該不會(huì)有問(wèn)題。
?
如果出現(xiàn)問(wèn)題可能是其它地方有定時(shí)器在推送,比如代碼里有其它地方調(diào)用了定時(shí)器 (php start.php status能看到進(jìn)程里有多少個(gè)定時(shí)器);比如多次啟動(dòng)BusinessWorker進(jìn)程(有問(wèn)題時(shí)ps aux 看下是否有其它多余進(jìn)程);比如某次發(fā)布代碼忘記了限定BusinessWorker===0導(dǎo)致多個(gè)推送;以及其它原因。