Example #1
0
 /**
  * http multi call
  */
 public function HttpMuticall($data)
 {
     $datas = json_decode($data);
     $url_all = unserialize($datas->urls);
     $cores = $edges = array();
     $calls = new Swoole\Client\Multi();
     if (!empty($datas)) {
         if (isset($datas->cores)) {
             foreach ($datas->cores as $cip => $cname) {
                 $url = "http://" . $cip . "/_api_url";
                 $cname = new Swoole\Client\HTTP($url);
                 $send_data = json_encode(array('type' => 'url', 'data' => array_values($url_all)));
                 $headers = array('Content-Type' => 'application/json', 'User-Agent' => 'Google (https://www.google.com)');
                 $calls->request($cname->post($url, $send_data, $headers));
             }
         }
     }
     /*$qq = new Swoole\Client\HTTP("http://www.qq.com/");
         $baidu = new Swoole\Client\HTTP("https://www.baidu.com/");
     
         $calls ->request($qq->get("http://www.qq.com/"));
         $calls ->request($baidu->get("https://www.baidu.com/"));*/
     $this->queueLogTimer(__LINE__ . date('Y-m-d H:i:s') . '  ' . print_r($calls, true) . ' queue');
     (yield $calls);
 }
Example #2
0
 public function HttpmuticallTest()
 {
     $calls = new Swoole\Client\Multi();
     $qq = new Swoole\Client\HTTP("http://www.qq.com/");
     $calls->request($qq, "qq");
     (yield $calls);
 }
Example #3
0
 public function MysqlMuticallTest()
 {
     $calls = new Swoole\Client\Multi();
     $select = new Swoole\Client\DB("select * from test");
     $desc = new Swoole\Client\DB("desc test");
     $calls->request($select, "select");
     $calls->request($desc, "desc");
     (yield $calls);
 }
Example #4
0
 public function muticallTest()
 {
     $ip = '127.0.0.1';
     $data = 'test';
     $timeout = 0.5;
     //second
     $calls = new Swoole\Client\Multi();
     $firstReq = new Swoole\Client\TCP($ip, '9905', $data, $timeout);
     $secondReq = new Swoole\Client\UDP($ip, '9904', $data, $timeout);
     $calls->request($firstReq, 'first');
     //first request
     $calls->request($secondReq, 'second');
     //second request
     (yield $calls);
 }