在?onWorkerStart 里面定義了 個全局的? global $_downTimer;
?
然后在 Timer 里面倒計(jì)時? 代碼如下
global $_downTimer;
$_downTimer = 60;
$_timer = Timer::add(1, function () use (&$_timer,&$_downTimer) {
if($_downTimer == 0){
Timer::del($_timer);
}else{
Gateway::sendToGroup(, json_encode());
--$_downTimer;
}
});
運(yùn)行 :php artisan wk start?
然后進(jìn)入房間后 timer 發(fā)送到客戶端 是正常的 按每秒去遞減,
之后我退出房間 在進(jìn)去 ,那么問題來了:
Workerman 推送到客戶端的 時間 會每秒打印 60,59,58 一次性可以推送3秒 或者更多過來? ,導(dǎo)致倒計(jì)時很快就走完了。
?
?
?
因?yàn)殚_了多個進(jìn)程啊,比如你開了3個進(jìn)程,3個進(jìn)程都定時向客戶端發(fā),那就一次推3個過來了