WorkerMan reload平滑重启无效的解决方案
  • 累计撰写 120 篇文章
  • 累计收到 1 条评论

WorkerMan reload平滑重启无效的解决方案

2024-10-19 / 0 评论 / 5 阅读

WorkerMan

Workerman是一款常驻内存的PHP服务框架, 它提供了一个更简单的方案供开发者, 开发TCP, UDP等服务.

且从他衍生出来的 Webman 采用MVC框架, 复用了绝大多数的类库, 如果你有Laravel相关的开发经验, 可以很轻松的尝试Webman.

对于平滑重启

Workerman由于其常驻内存的特性, 修改代码并不会实时生效, 对此Workerman其实也有一套方案 > FileMonitor

通过定时监控代码的变更来自动reload.

回到解决方案

目前遇到的问题 是 fileMonitor能检测到文件变更, 也可以自动reload 但是业务返回仍然为原来的.

两种最简单的排查手段 >

  • reload只能 重新加载on**{}回调内的内容, 且必须是动态require或者采用自动加载机制引入的文件.
  • 检查缓存插件, 在这里我就是因为使用了Oocache插件导致了 reload无法生效, 卸载该插件 reboot服务器 即可
收藏

扫描二维码,在手机上阅读

评论一下?

OωO
取消