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

workerman/http/client,定時(shí)器不斷增加是正常還是Bug?

veinliu

經(jīng)過(guò)測(cè)試,http/client 每連接一次計(jì)時(shí)器數(shù)量加一,時(shí)間長(zhǎng)了CPU占用老高了。

4326 6 0
6個(gè)回答

veinliu

是我打開(kāi)方式不對(duì)還是怎么回事?

  • 暫無(wú)評(píng)論
veinliu
 public function __construct($option = [])
    {
        $this->_option = $this->_option = array_merge($this->_option, $option);
       // Timer::add(1, [$this, 'closeTimeoutConnection']);

       // var_dump();
    }
注頭釋掉線(xiàn)程池里面的定時(shí)器這一行,定時(shí)器不再增加,但是不知道線(xiàn)程池是不是沒(méi)有了?
打算再改一改,到closeTimeoutConnection,里面close 連接的時(shí)候unset定時(shí)器不知道哪個(gè)比較科學(xué)。
  • 暫無(wú)評(píng)論
walkor 打賞

每個(gè)client實(shí)例有一個(gè)定時(shí)器。業(yè)務(wù)代碼復(fù)用workerman/http/client實(shí)例,不要每次都初始化一個(gè)workerman/http/client實(shí)例

  • veinliu 2019-12-21

    非常感謝,我是要連接不同的IP的不同端口很多次去查詢(xún)結(jié)果,不知道實(shí)例化應(yīng)該寫(xiě)在哪里,能不能給提供一個(gè)例子參考。新手,真沒(méi)什么概念,我先自己想,您能提供個(gè)例子就更好了。

veinliu
 $inner_http_worker1 = new Worker('http://0.0.0.0:2122');
        // 當(dāng)http客戶(hù)端發(fā)來(lái)數(shù)據(jù)時(shí)觸發(fā)
        $inner_http_worker1->onMessage = function($http_connection, $data) {
             global $uidConnectionMap,$rfid,$channel;
            $_POST = $_POST ? $_POST : $_GET;
            $channel = @$_POST['channel'];
            $position = @$_POST['position'];
            $rfid = @$_POST['rfid'];
            //var_dump($_POST);
            $post = "{way_code:001,position:".$position.",RfidNo:".$rfid."}";
            //$post = '{"way_code":"001","position":"1","RfidNo":"1000000002"}';
           // var_dump($post);
            $http = new Workerman\Http\Client();
            //var_dump($channel);
            //$http->post('http://172.50.10.2:7090/facematch/v1/request', $post, function($response) {
            $http->post('http://'.$channel.':7090/facematch/v1/request',  $post, function($response){
             //   var_dump($response->getStatusCode());

                $data = json_decode($response->getBody(),true);
               // var_dump($data);
                echo ($response->getBody());
                if ($data['Content'] != null && $data['Status'] == 1){
                  //  var_dump($response->getBody());
                    new passenger($response->getBody(),$GLOBALS['channel']);

                }
                //global $rfid;
              //  var_dump($GLOBALS['rfid']);

            }, function($exception){
                $ident = 'FR2SAC';
                new logErr($ident,$exception);
               // echo $exception;
            });

            return $http_connection->send('1');
        };`
        $inner_http_worker->listen();
//比方說(shuō)這段代碼,我多次的post url 和數(shù)據(jù),讓httpclient去取結(jié)果,我沒(méi)編過(guò)程,沒(méi)參考代碼我就不知道怎么弄了。
  • 暫無(wú)評(píng)論
veinliu

改好了,今天去服務(wù)器上更新一下。
昨天下午注釋掉了定時(shí)器那行,在生產(chǎn)中運(yùn)行,今天去應(yīng)該程序還沒(méi)什么問(wèn)題??戳硕〞r(shí)器的用法,才明白定時(shí)器那行是每秒去做一次超時(shí)連接斷開(kāi)。

  • 暫無(wú)評(píng)論
workmanxinshou

在 onWorkerStart 回調(diào)中實(shí)例化 http/Client

  • veinliu 2019-12-22

    說(shuō)來(lái)慚愧,我知道在onWorkerStart中實(shí)例化,但在$inner_http_worker1->onMessage中老提示沒(méi)定義這個(gè)變量,網(wǎng)上找了老半天才知道怎么弄,沒(méi)編過(guò)程的人對(duì)代碼一點(diǎn)概念都沒(méi)有。

  • veinliu 2019-12-22

    好在,有worker這樣的大師級(jí)的人物寫(xiě)出了這么好用的框架,再加上有這么多高手網(wǎng)上給解決問(wèn)題提出意見(jiàn)。

年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??