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