getwayworker定时器时间长了出现异常

genji

我在Evens.php的onWorkerStart回调中设置worker的id为0时去调用定时器执行一个每5秒的任务,该任务是向客户端推送消息,前两天都是正常的每5秒钟执行一次推送消息,可是过了几天以后,再次打开客户端发现,服务器的定时任务不再是5秒推送一次消息了,而是每秒钟会推送很多次消息,这是为什么啊
 
 

2284 1 0
1个回答

walkor

如果代码里只有这个一个定时器,并且限定了 BusinessWorker->id === 0 应该不会有问题。
 
如果出现问题可能是其它地方有定时器在推送,比如代码里有其它地方调用了定时器 (php start.php status能看到进程里有多少个定时器);比如多次启动BusinessWorker进程(有问题时ps aux 看下是否有其它多余进程);比如某次发布代码忘记了限定BusinessWorker===0导致多个推送;以及其它原因。

  • genji 2019-05-14

    好的,多谢大佬指点

年代过于久远,无法发表回答
🔝