/** * 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); }
public function HttpmuticallTest() { $calls = new Swoole\Client\Multi(); $qq = new Swoole\Client\HTTP("http://www.qq.com/"); $calls->request($qq, "qq"); (yield $calls); }
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); }
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); }