程序运行工程中不定时出现 这个报错 businessWorker::getAllGatewayAddresses return empty 自己查了好多次没有找到原因 也看了论坛的相关的帖子 结果也是没找到正确的答案 现在怀疑是和Redis有关 但是我用的是 webman自带的 Redis use support\Redis;
下面是部分代码
请大佬帮我看下 开发环境是 webman+gateway插件 以前用gatewayworkamn 好像没有遇到这样的问题
gateway businessWorker启动后会连register服务,register会识别哪些时gateway进程的链接,然后将gateway进程信息发给businessworker。businessworker就知道有哪些gateway进程。getAllGatewayAddresses return empty 意思是busienssWorker没收到register的通知,不知道有哪些gateway进程。
getAllGatewayAddresses return empty
所以围绕着这个流程可能原因有
剩下要自己分析定位了,别人帮不上忙
好的 这么说就明白很多了 却是用更新代码自动重启的事情 我现在直接给重启下 看看以后是否还有这样的问题发生
大佬 我还想问下onWrokerStart 中使用定时器会阻塞吗?
是否阻塞看定时器执行的内容是否是阻塞的
$uids = Gateway::getAllUidList(); Cache::set('online', array_keys($uids)); 这2行代码应该没有问题吧 获取在线设备 存入缓存 定时器是2秒执行一下
没问题
gateway businessWorker启动后会连register服务,register会识别哪些时gateway进程的链接,然后将gateway进程信息发给businessworker。businessworker就知道有哪些gateway进程。
getAllGatewayAddresses return empty
意思是busienssWorker没收到register的通知,不知道有哪些gateway进程。所以围绕着这个流程可能原因有
剩下要自己分析定位了,别人帮不上忙
好的 这么说就明白很多了 却是用更新代码自动重启的事情 我现在直接给重启下 看看以后是否还有这样的问题发生
大佬 我还想问下onWrokerStart 中使用定时器会阻塞吗?
是否阻塞看定时器执行的内容是否是阻塞的
没问题