diff --git a/README.md b/README.md index bc4add1..7fb8933 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ built on top of [ReactPHP](https://reactphp.org/). Let's say you crawl a page and find that you need to send 100 HTTP requests to following pages which each takes `0.2s`. You can either send them all sequentially (taking around `20s`) or you can use -[ReactPHP](https://reactphp.org) to concurrently request all your pages at the +[ReactPHP](https://reactphp.org/) to concurrently request all your pages at the same time. This works perfectly fine for a small number of operations, but sending an excessive number of requests can either take up all resources on your side or may get you banned by the remote side as it sees an unreasonable number @@ -84,12 +84,14 @@ $q = new Clue\React\Mq\Queue(3, null, function ($url) use ($browser) { foreach ($urls as $url) { $q($url)->then(function (Psr\Http\Message\ResponseInterface $response) use ($url) { echo $url . ': ' . $response->getBody()->getSize() . ' bytes' . PHP_EOL; + }, function (Exception $e) { + echo 'Error: ' . $e->getMessage() . PHP_EOL; }); } ``` -See also the [examples](examples). +See also the [examples](examples/). ## Usage @@ -292,6 +294,8 @@ $promise = Queue::all(3, $urls, function ($url) use ($browser) { $promise->then(function (array $responses) { echo 'All ' . count($responses) . ' successful!' . PHP_EOL; +}, function (Exception $e) { + echo 'Error: ' . $e->getMessage() . PHP_EOL; }); ``` @@ -368,6 +372,8 @@ $promise = Queue::any(3, $urls, function ($url) use ($browser) { $promise->then(function (ResponseInterface $response) { echo 'First response: ' . $response->getBody() . PHP_EOL; +}, function (Exception $e) { + echo 'Error: ' . $e->getMessage() . PHP_EOL; }); ``` diff --git a/examples/01-http.php b/examples/01-http.php index 0248fd7..c13c62e 100644 --- a/examples/01-http.php +++ b/examples/01-http.php @@ -24,10 +24,8 @@ $queue($url)->then( function (Psr\Http\Message\ResponseInterface $response) use ($url) { echo $url . ' has ' . $response->getBody()->getSize() . ' bytes' . PHP_EOL; - }, - function (Exception $e) use ($url) { - echo $url . ' failed: ' . $e->getMessage() . PHP_EOL; + }, function (Exception $e) { + echo 'Error: ' . $e->getMessage() . PHP_EOL; } ); } - diff --git a/examples/02-http-all.php b/examples/02-http-all.php index 0cda97c..b382776 100644 --- a/examples/02-http-all.php +++ b/examples/02-http-all.php @@ -27,9 +27,7 @@ function ($responses) { foreach ($responses as $url => $response) { echo $url . ' has ' . $response->getBody()->getSize() . ' bytes' . PHP_EOL; } - }, - function ($e) { - echo 'An error occurred: ' . $e->getMessage() . PHP_EOL; + }, function (Exception $e) { + echo 'Error: ' . $e->getMessage() . PHP_EOL; } ); - diff --git a/examples/03-http-any.php b/examples/03-http-any.php index 8093774..a5d20a6 100644 --- a/examples/03-http-any.php +++ b/examples/03-http-any.php @@ -22,16 +22,13 @@ function (Psr\Http\Message\ResponseInterface $response) use ($url) { // return only the URL for the first successful response return $url; - } - ); + }); }); $promise->then( function ($url) { echo 'First successful URL is ' . $url . PHP_EOL; - }, - function ($e) { - echo 'An error occurred: ' . $e->getMessage() . PHP_EOL; + }, function (Exception $e) { + echo 'Error: ' . $e->getMessage() . PHP_EOL; } ); -