考慮會(huì)不會(huì)因?yàn)闆](méi)加心跳,管道掛起問(wèn)題,但是有時(shí)候第一次就可以接收到,前段做了個(gè)重復(fù)bind,每30s一次,這樣會(huì)不會(huì)充當(dāng)心跳!
Events.php:用戶連接進(jìn)來(lái)開(kāi)啟一個(gè)定時(shí)器,
業(yè)務(wù)方面
線下是wa環(huán)境 線上是ln環(huán)境 控制臺(tái)沒(méi)有報(bào)錯(cuò)
你們這不是亂寫嘛,每個(gè)客戶端都在連接的時(shí)候在內(nèi)存里加一個(gè)定時(shí)器,然后又不刪除。跑著跑著內(nèi)存就因?yàn)闊o(wú)限添加定時(shí)器爆了,cpu也會(huì)呼呼的轉(zhuǎn)
業(yè)務(wù)需求是用戶設(shè)置延遲提醒某個(gè)內(nèi)容,進(jìn)程定時(shí)器獲取不到用戶token,所以放在用戶鏈接的時(shí)候,業(yè)務(wù)規(guī)模比較小,集團(tuán)oa大概百人左右
一次性定時(shí)器沒(méi)問(wèn)題,如果是持久定時(shí)會(huì)內(nèi)存泄漏,需要在合適的時(shí)候?qū)⒍〞r(shí)器刪除。
最好不要用tp來(lái)運(yùn)行g(shù)atewayWorker workerman,運(yùn)行命令行運(yùn)行的時(shí)候tp可能會(huì)提前連數(shù)據(jù)庫(kù),導(dǎo)致子進(jìn)程繼承同一個(gè)數(shù)據(jù)庫(kù)連接,使用數(shù)據(jù)庫(kù)的時(shí)候失敗。
我在onWorkerStart 進(jìn)行mysql初始化 TP里用了sendToUid 所以不會(huì)是內(nèi)存泄露影響消息問(wèn)題吧,消息時(shí)有時(shí)無(wú) 第一次發(fā)送沒(méi)有響應(yīng),之后正常,