- Add DISCOVERY_LOG_LEVEL=debug - Add DISCOVERY_SHOW_PROGRESS=true - Temporary changes for debugging InitializerProcessor fixes on production
37 lines
818 B
PHP
37 lines
818 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Framework\Retry;
|
|
|
|
use App\Framework\Core\ValueObjects\Duration;
|
|
use Throwable;
|
|
|
|
/**
|
|
* Interface für Retry-Strategien
|
|
*
|
|
* Definiert wie und wann Operationen wiederholt werden sollen
|
|
*/
|
|
interface RetryStrategy
|
|
{
|
|
/**
|
|
* Entscheidet ob ein weiterer Retry-Versuch gemacht werden soll
|
|
*/
|
|
public function shouldRetry(int $currentAttempt, Throwable $exception): bool;
|
|
|
|
/**
|
|
* Bestimmt die Wartezeit vor dem nächsten Versuch
|
|
*/
|
|
public function getDelay(int $currentAttempt, Throwable $exception): Duration;
|
|
|
|
/**
|
|
* Maximale Anzahl von Versuchen
|
|
*/
|
|
public function getMaxAttempts(): int;
|
|
|
|
/**
|
|
* Prüft ob diese Exception retry-bar ist
|
|
*/
|
|
public function isRetryableException(Throwable $exception): bool;
|
|
}
|