feat(Docker): Upgrade to PHP 8.5.0RC3 with native ext-uri support
BREAKING CHANGE: Requires PHP 8.5.0RC3 Changes: - Update Docker base image from php:8.4-fpm to php:8.5.0RC3-fpm - Enable ext-uri for native WHATWG URL parsing support - Update composer.json PHP requirement from ^8.4 to ^8.5 - Add ext-uri as required extension in composer.json - Move URL classes from Url.php85/ to Url/ directory (now compatible) - Remove temporary PHP 8.4 compatibility workarounds Benefits: - Native URL parsing with Uri\WhatWg\Url class - Better performance for URL operations - Future-proof with latest PHP features - Eliminates PHP version compatibility issues
This commit is contained in:
@@ -16,17 +16,22 @@ use Throwable;
|
||||
*/
|
||||
final readonly class ExponentialBackoffStrategy implements RetryStrategy
|
||||
{
|
||||
private Duration $initialDelay;
|
||||
private Duration $maxDelay;
|
||||
|
||||
public function __construct(
|
||||
private int $maxAttempts = 3,
|
||||
private Duration $initialDelay = new Duration(100), // 100ms
|
||||
?Duration $initialDelay = null,
|
||||
private float $multiplier = 2.0,
|
||||
private Duration $maxDelay = new Duration(10000), // 10s
|
||||
?Duration $maxDelay = null,
|
||||
private bool $useJitter = true,
|
||||
private array $retryableExceptions = [
|
||||
\RuntimeException::class,
|
||||
\Exception::class,
|
||||
]
|
||||
) {
|
||||
$this->initialDelay = $initialDelay ?? Duration::fromMilliseconds(100);
|
||||
$this->maxDelay = $maxDelay ?? Duration::fromSeconds(10);
|
||||
}
|
||||
|
||||
public function shouldRetry(int $currentAttempt, Throwable $exception): bool
|
||||
|
||||
Reference in New Issue
Block a user