我在Evens.php的onWorkerStart回调中设置worker的id为0时去调用定时器执行一个每5秒的任务,该任务是向客户端推送消息,前两天都是正常的每5秒钟执行一次推送消息,可是过了几天以后,再次打开客户端发现,服务器的定时任务不再是5秒推送一次消息了,而是每秒钟会推送很多次消息,这是为什么啊
如果代码里只有这个一个定时器,并且限定了 BusinessWorker->id === 0 应该不会有问题。 如果出现问题可能是其它地方有定时器在推送,比如代码里有其它地方调用了定时器 (php start.php status能看到进程里有多少个定时器);比如多次启动BusinessWorker进程(有问题时ps aux 看下是否有其它多余进程);比如某次发布代码忘记了限定BusinessWorker===0导致多个推送;以及其它原因。
好的,多谢大佬指点
如果代码里只有这个一个定时器,并且限定了 BusinessWorker->id === 0 应该不会有问题。
如果出现问题可能是其它地方有定时器在推送,比如代码里有其它地方调用了定时器 (php start.php status能看到进程里有多少个定时器);比如多次启动BusinessWorker进程(有问题时ps aux 看下是否有其它多余进程);比如某次发布代码忘记了限定BusinessWorker===0导致多个推送;以及其它原因。
好的,多谢大佬指点