场景:系统运行依赖定时器,非硬依赖,restart会比较耗费时间,设备数量逐步增大的情况下,对业务产生影响的时间越来越长,项目又必须进行版本迭代,所以自己添加了onWorkerReload回调,在gatewayworker中启用热加载,但reload会导致定时器丢失,所以我在onWorkerReload中重建定时器,但无法正常运行
问题现象:restart时定时器可以正常运行,reload后原有定时器丢失,在onWorkerReload中重建定时器,重建过程无报错,亦有ID返回,但是定时器并未工作,多次reload会一直返回同一个ID
不能动态显示gif动图啊,下面时部分代码:
events.php
dotcontrol.php
onWorkerReload是收到reload信号后执行的回调,执行完毕后进程退出。
重建定时器应该放到onWorkerStart里
噢,原来如此,我以为是进程重启后运行onWorkerReload,原来执行完毕后进程退出了,谢谢老大