国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

Gateway定時器問題

yxon

我遇到的場景是這樣:
在onMessage中用戶發(fā)送綁定信息過來后我會生成一個定時器來主動推送數(shù)據(jù) 這塊邏輯執(zhí)行時間比較久,導致在這個定時器執(zhí)行過程中 其他用戶發(fā)送綁定信息服務端阻塞不會綁定成功
這種情況下應該怎么處理?

1375 2 0
2個回答

2548a

耗時操作就不要放到gateway進程里去,單獨開一個進程, 調用getAllUidList 接口獲取綁定的uid,然后調用 sendToUid 來發(fā)送就行,沒必要去阻塞gateway進程

  • yxon 2022-07-24

    大佬 那我是需要在onmessage綁定成功后再new Worker() 然后創(chuàng)建個定時器是嗎

2548a

開自定義進程看這里 http://wtbis.cn/q/8853
不需要,加定時器無非是為了隔一段時間推送一次數(shù)據(jù),定時器直接在自定義進程里的onWorkerStart 里寫
類似這樣
public function onWorkerStart($worker)
{
//假設隔10秒推送一次數(shù)據(jù)
Timer::add(10,function (){
//獲取綁定的所有uid
$uid_arr = Gateway::getAllUidList(void);
//然后在這里循環(huán)uid_arr,給他們推送對應的數(shù)據(jù)就行了
})

}

  • 暫無評論
年代過于久遠,無法發(fā)表回答
??