关于web-msg-sender里的定时器销毁问题

mlyykk

官方的web-msg-sender里有定时器的Timer:add示例.  但是workerman的手册里说,要注意销毁定时器.否则可能造成busy,  请问下web-msg-sender里的销毁在哪里操作?

2227 2 0
2个回答

walkor

手册里的意思是不要无限创建永久定时器。比如客户端发来一次消息就创建一个永久定时器又不删除它,日积月累内存中就会有无数个定时器在运行,导致服务器高负载。web-msg-sender 里的定时器只在进程启动的时候创建了一次,用来定时检查在线人数是否变化,如果有变化就推送给所有在线客户端。这个是没问题的,不会导致服务器出现高负载。
 

  • 暂无评论
back0893

可以自己销毁定时器,Timer::add 会返回一个index Timer::del(index) 可以删除这个定时器
定时器会定时去检查,如果定时器过多,会导致定时器一直在运行

  • mlyykk 2018-12-18

    好的,我是问问demo里为什么不删除, walkor上面说了没多大影响, 我后面会自己增加一些定时器,我准备在客户端断开连接的时候销毁. 谢谢你

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