Как создать пакетный запрос в Guzzle6?

Мне нужно отправить несколько запросов, поэтому я хочу реализовать пакетный запрос.

Как мы можем сделать это в Guzzle6?

Используя старый способ:

$client->send(array(
    $client->get($courses),  //api url
    $client->get($job_categories), //api url
)); 

дает мне ошибку:

GuzzleHttp\Client::send() must implement interface Psr\Http\Message\RequestInterface, array given

person RahulG    schedule 24.06.2015    source источник


Ответы (1)


попробуй что-нибудь вроде этого

    $client = new Client();
    foreach ($links as $link) {
        $requests[] = new Request('GET', $link);
    }

    $responses = Pool::batch($client, $requests, array(
        'concurrency' => 15,
    ));

    foreach ($responses as $response) {
         //do something
    }

не забывай

use GuzzleHttp\Pool;
use GuzzleHttp\Client;
use GuzzleHttp\Psr7\Request;
person Кирилл Сулимовский    schedule 13.07.2016
comment
docs.guzzlephp.org/en/5.3/clients.html#batching- запросы - person Кирилл Сулимовский; 12.06.2020