Skip to content

Commit 10d0cf8

Browse files
committed
Sleep 1 second by default in case of 429 response
There were cases, when client subsequently recieved 429 responses with retry-after=0, eg. * retries: 0, sleep: 1 * retries: 1, sleep: 0 * retries: 2, sleep: 0 On the next try you'll get error: > Your request count (44) is over the allowed limit of 40.
1 parent 3c4498b commit 10d0cf8

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

lib/Tmdb/HttpClient/Adapter/GuzzleAdapter.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,12 @@ public function registerSubscribers(EventDispatcherInterface $eventDispatcher)
6262
// Adding 20% of the waiting time as it seems to be the best result without getting two blocking reqs.
6363
$sleep = (int) $event->getResponse()->getHeader('retry-after') * 1.2;
6464

65+
/**
66+
* @see https://github.com/php-tmdb/api/issues/154
67+
* Maybe it's even better to set it to $number value
68+
*/
69+
if (0 === $sleep && $number) $sleep = 1;
70+
6571
if ($sleep >= 0) {
6672
return $sleep * 1000;
6773
}

0 commit comments

Comments
 (0)