GuzzleHttps异步并发使用

use GuzzleHttp\Pool;
use GuzzleHttp\Client;
use GuzzleHttp\Psr7\Request;

//向接口发送上传小说
public function sendChapter($data){

    $client = new \GuzzleHttp\Client();
    $requests = function () use ($data,$client) {
        foreach ($data as $item){
            yield function() use ($client, $item) {
                return $client->request('POST', $this->chapter_upload_url, [
                    'form_params' => $item
                ]);
            };

        }
    };



    $responses = [];
    $bad_responses = [];
    $pool = new \GuzzleHttp\Pool($client, $requests(), [
        'concurrency' => 20,
        'fulfilled' => function ($response, $index) use (&$responses, &$requests) {
            $responses[$index] = $response;
        },
        'rejected' => function ($reason, $index) use (&$responses) {
            $bad_responses[$index] = [];
        },
    ]);

    $res =  $pool->promise()->wait();
    //坏的结果返回处理
    foreach ($bad_responses as  $key=>$li){

    }
    //返回处理
    foreach ($responses as  $key=>$li){

    }
    return $responses;


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值