Class Pool
Sends and iterator of requests concurrently using a capped pool size.
The pool will read from an iterator until it is cancelled or until the
iterator is consumed. When a request is yielded, the request is sent after
applying the "request_options" request options (if provided in the ctor).
When a function is yielded by the iterator, the function is provided the
"request_options" array that should be merged on top of any existing
options, and the function MUST then return a wait-able promise.
-
GuzzleHttp\Pool
implements
GuzzleHttp\Promise\PromisorInterface
Methods summary
public
|
#
__construct( GuzzleHttp\ClientInterface $client, array|Iterator $requests, array $config = [] )
Parameters
- $client
- Client used to send the requests.
- $requests
Requests or functions that return
requests to send concurrently.
- $config
Associative array of options
- concurrency: (int) Maximum number of requests to send concurrently
- options: Array of request options to apply to each request.
- fulfilled: (callable) Function to invoke when a request completes.
- rejected: (callable) Function to invoke when a request is rejected.
|
public
PromiseInterface
|
#
promise( )
Returns a promise.
Returns
PromiseInterface
Implementation of
|
public static
array
|
#
batch( GuzzleHttp\ClientInterface $client, array|Iterator $requests, array $options = [] )
Sends multiple requests concurrently and returns an array of responses
and exceptions that uses the same ordering as the provided requests.
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
- $client
- Client used to send the requests
- $requests
- Requests to send concurrently.
- $options
Passes through the options available in
GuzzleHttp\Pool::__construct
Returns
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.
|