Skip to content

Latest commit

 

History

History
156 lines (70 loc) · 2.89 KB

Pool.md

File metadata and controls

156 lines (70 loc) · 2.89 KB

Pool

Sends an 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.

Properties

each

private \GuzzleHttp\Promise\EachPromise $each

Methods

__construct

public __construct(\GuzzleHttp\ClientInterface $client, array|\Iterator $requests, array $config = []): mixed

Parameters:

Parameter Type Description
$client \GuzzleHttp\ClientInterface Client used to send the requests.
$requests array|\Iterator Requests or functions that return
requests to send concurrently.
$config array 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.

promise

Get promise

public promise(): \GuzzleHttp\Promise\PromiseInterface

batch

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

public static batch(\GuzzleHttp\ClientInterface $client, array|\Iterator $requests, array $options = []): array

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.

  • This method is static.

Parameters:

Parameter Type Description
$client \GuzzleHttp\ClientInterface Client used to send the requests
$requests array|\Iterator Requests to send concurrently.
$options array Passes through the options available in
{@see}

Return Value:

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


cmpCallback

Execute callback(s)

private static cmpCallback(array& $options, string $name, array& $results): void
  • This method is static.

Parameters:

Parameter Type Description
$options array
$name string
$results array