You are here

public static function Pool::batch in Lockr 7.3

Sends multiple requests concurrently and returns an array of responses and exceptions that uses the same ordering as the provided requests.

IMPORTANT: This method keeps every request and response in memory, and as such, is NOT recommended when sending a large number or an indeterminate number of requests concurrently.

Parameters

ClientInterface $client Client used to send the requests:

array|\Iterator $requests Requests to send concurrently.:

array $options Passes through the options available in: {@see GuzzleHttp\Pool::__construct}

Return value

array Returns an array containing the response or an exception in the same order that the requests were sent.

Throws

\InvalidArgumentException if the event format is incorrect.

File

vendor/guzzlehttp/guzzle/src/Pool.php, line 94

Class

Pool
Sends and iterator of requests concurrently using a capped pool size.

Namespace

GuzzleHttp

Code

public static function batch(ClientInterface $client, $requests, array $options = []) {
  $res = [];
  self::cmpCallback($options, 'fulfilled', $res);
  self::cmpCallback($options, 'rejected', $res);
  $pool = new static($client, $requests, $options);
  $pool
    ->promise()
    ->wait();
  ksort($res);
  return $res;
}