项目使用GatewayWorker,碰到两个小问题求教
1.在Events中onMessage中,假设有3000个设备发消息过来,我把每个设备的id都存入到$_SESSION中,这里大量操作$_SESSION因为每天设备上发数据量比较大,都先写入REDIS,现在想用异步任务去读取redis队列中的数据然后写入MYSQL,如果开了多个进程去取数据,会不会造成重复写入
另外问个项目实现思路的问题:
现在服务器A上单独跑了GW来处理硬件上报数据,然后另外服务器B上WEB后台需要获取硬件的在线状态
我现在的做法是单独开了websocket协议的gateway,然后WEB后台连上来,服务器A中GW接收数据,
大概代码是这样Gateway::bindUid($client_id, $uid);
}
```
然后,在onClose方法中用
Gateway::sendToUid('WEB后台uid', $deviceId);
推送数据来完成通知某个设备下线了