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

Timer問題

小吳大大

在測(cè)試onMessage里面寫Timer發(fā)現(xiàn)無法清除,這讓我很郁悶。
代碼1:

use \GatewayWorker\Lib\Gateway;
use \GatewayWorker\Lib\Store;
use \GatewayWorker\Lib\Db;
use \Workerman\Lib\Timer;
class Event{
    public static function onMessage($client_id, $message)
    {
       switch($message_data)
        {
          case ‘re_login’:
                  $_SESSION = $time_interval=10;
              Timer::add($time_interval, function(){
                      var_dump('timer1-work');

          });

         }
    }
     public static function onClose($client_id)
     {
        Timer::del($_SESSION );
     }

}

代碼二:

class Event{
    public static function onMessage($client_id, $message)
    {
       switch($message_data)
        {
          case ‘re_login’:
                  $_SESSION = $time_interval=10;
              Timer::add($time_interval, function(){
                      var_dump('timer2-work');

          });

         }
    }
     public static function onClose($client_id)
     {
        Timer::delAll();
     }

}

}}}

以上兩種貌似都是判斷客戶端進(jìn)入和退出時(shí)的操作,剛開始測(cè)試可以。但客戶端進(jìn)出頻繁時(shí),定時(shí)器會(huì)并發(fā)。清除不了。大神來幫本菜鳥分析一下唄。

4558 3 0
3個(gè)回答

walkor 打賞

$_SESSION = $time_interval=10;

你這句把$_SESSION寫死了固定是10了,Timer::del($_SESSION ); 當(dāng)然無效

這個(gè)你要自己面壁去了,就幾行代碼自己都看不出這么明顯的羅輯問題

另外:
businessWorker是多進(jìn)程的,刪除定時(shí)器和設(shè)定定時(shí)器的進(jìn)程必須是同一個(gè)。
參考手冊(cè)路由部分,使用示例二,將同一個(gè)client_id的請(qǐng)求綁定到同一個(gè)businessWorker上處理就ok了

http://m.wtbis.cn/gatewaydoc/gateway-worker-development/router.html

  • 暫無評(píng)論
小吳大大

抱歉,我已經(jīng)面壁了2小時(shí)。改了代碼,但是還是無效。退出的時(shí)候還是無法清除是為什么呢

  • 暫無評(píng)論
walkor 打賞

businessWorker是多進(jìn)程的,刪除定時(shí)器和設(shè)定定時(shí)器的進(jìn)程必須是同一個(gè)。
參考手冊(cè)路由部分,使用示例二,將同一個(gè)client_id的請(qǐng)求綁定到同一個(gè)businessWorker上處理就ok了

http://m.wtbis.cn/gatewaydoc/gateway-worker-development/router.html

  • 暫無評(píng)論
年代過于久遠(yuǎn),無法發(fā)表回答
??