walkor你好,我边有一个拍卖的场景,用户进入拍卖场后,会有拍品倒计时功能(用timer实现,用web服务端连接gateway),主控端是可以在开始后暂定拍买的,但由于开了多进程,所以在用户点击暂定时是不能准确的进入相应的进程删除对应的timer的(已做了路由绑定,但是web服务端不能维持长连,请求到了才会去连接gateway,stream_socket_client方式,所以每次得到client_id都会不同)。
之后我又用cli方式在服务器上写了个队列处理,同时模拟客户端websocket连接gateway并维持心跳,这样可以做到服务端每次请求gateway都是同一个client_id,但是也难免会出现重连的情况,重连后client_id就会变了,所以这种方式感觉也不太稳定。
望指定迷津,如何能从跟源上解决上面的问题。
业务需要,不能只开一个业务进程。
暂定拍卖的时候写个标记到存储里,倒计时定时器里读取这个存储就好了,如果读取到的值是暂定就定时器删除自己。
定时器里删除自己参见手册 http://doc3.workerman.net/worker-development/del.html
我试过文件,memcache,mysql,貌似都是资源被占用的问题
非常感谢!
不客气