先上一个官方连接
https://guzzle-cn.readthedocs.io/zh_CN/latest/quickstart.html?highlight=getasync
使用guzzle 实现,需要先引用。安装请自行解决
use GuzzleHttpClient;use GuzzleHttpPromise;
上代码
set_time_limit(0);ignore_user_abort(true);fastcgi_finish_request();//以上三个参数是防止客户端超时,不加的话,自己体验吧。$client = new Client();foreach ($res['0'] as $key => $value) { $qdata = [ 'method'=> 'forwardMessage', 'chat_id'=> $value['tid'], 'from_chat_id'=> $data['2'], 'message_id'=> $data['3'] ]; //创建多个请求,请求地址可以相同,也可以不同,我的API_URL是个常量 $promises[$key] = $client->postAsync(API_URL, ['headers' => ['Content-Type' => 'application/json'], 'body' => json_encode($qdata)]);}// 下面代码处理并发请求,并等待所有请求完成(每个请求之间是异步的,因此效率非常高),返回一个响应数组$responses = Promiseunwrap($promises);//如果需要处理返回值,就这样写。foreach ($responses as $k => $response) { $result = $response->getBody()->getContents(); // $result即接口返回的body体,{code:1,message:success,data:{}},可以使用json_decode转一下}
目前我推送48条信息,花费不足0.2秒,可以说是毫秒级了,就看服务器配置了。
希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, Fastadmin, ClassCMS, LeCMS, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。