求一个workerman 开发websocket的热更新方案

皮皮侠

为此你搜索到了哪些方案及不适用的原因

1.使用php start.php reload方案 客户端的链接会断开 进程到时重启了 但是在onMessage中修改的代码依然没生效

  1. 还有其他的方案也试过了 都没能成功 包括 https://github.com/walkor/workerman-filemonitor
    3.想弄明白一个问题 我这个需求能不能实现
    4.workerman版本 v3.5.19
383 2 0
2个回答

缝合

你要在客户端加重试。

  • 皮皮侠 2023-11-08

    我现在有个很难复现的websocket BUG 我还要调试 好不容易复现出来 我想打印东西重启 又得从头开始..... 很难受

walkor

如果你的连接和业务逻辑在一个进程,reload后进程退出连接也会关闭。
建议使用gatewayWorker,连接在geteway进程,业务在worker进程。realod后gateway进程不退出,客户端连接不会被关闭,worker进程重新载入业务代码达到客户端无感知的热更新。

关于reload后代码没生效的原因参考文档 https://www.workerman.net/doc/workerman/faq/reload-principle.html

  • 皮皮侠 2023-11-08

    好的 谢谢老大 换gatewayWorker得以后了 我一点点调试吗

🔝