walkor你好,我的項(xiàng)目由于業(yè)務(wù)需要,在onmessage里面需要用到定時(shí)器,但是使用的過(guò)程中發(fā)現(xiàn)定時(shí)器無(wú)法正常關(guān)閉,我的思路是這樣的,在協(xié)議一里面出發(fā)一個(gè)五秒運(yùn)行一次的定時(shí)器,把timer_id緩存到Store里面,然后在協(xié)議二里取出緩存的timer_id,刪除這個(gè)timer_id,但是運(yùn)行之后定時(shí)器還在跑,這是什么原因?
部分代碼:
協(xié)議一:
$timer_id = Timer::add(5, function(){echo date('H:i:s',time()).'test begin!';}, array(), true);
$user_timers = Store::instance('gateway')->get('user_timers');
$user_timers[] = $timer_id;
Store::instance('gateway')->set('user_timers',$user_timers);
協(xié)議二:
$user_timers = Store::instance('gateway')->get('user_timers');
if(!empty($user_timers)){
foreach($user_timers as $val){
Timer::del($val);
}
unset($user_timers);
Store::instance('gateway')->set('user_timers',$user_timers);
}
試過(guò)使用delall好像也不行,希望能幫忙解答
好像找到了問(wèn)題所在,是我給businessworker開了4個(gè)進(jìn)程,開一個(gè)就沒(méi)有這個(gè)問(wèn)題,但是該怎么解決多進(jìn)程的問(wèn)題呢,希望walker哥給點(diǎn)意見
參考路由章節(jié),設(shè)置固定路由,讓一個(gè)連接的數(shù)據(jù)都發(fā)到同一個(gè)worker上(可以直接用范例 2 隨機(jī)綁定)
http://workerman.net/gatewaydoc/gateway-worker-development/router.html
timer_id也可以存儲(chǔ)在$_SESSION中