diff --git a/src/Jobs/RetryFailedJob.php b/src/Jobs/RetryFailedJob.php index 9433fe9..a701e8a 100644 --- a/src/Jobs/RetryFailedJob.php +++ b/src/Jobs/RetryFailedJob.php @@ -2,6 +2,7 @@ namespace Laravel\VaporUi\Jobs; +use Carbon\CarbonImmutable; use Illuminate\Contracts\Queue\Factory; use Illuminate\Queue\Failed\FailedJobProviderInterface; @@ -60,6 +61,13 @@ protected function resetAttempts($payload) $payload['attempts'] = 0; } + $retryUntil = $payload['retryUntil'] ?? $payload['timeoutAt'] ?? null; + if ($retryUntil) { + $payload['retryUntil'] = CarbonImmutable::now()->addSeconds((int) ceil( + isset($payload['pushedAt']) ? $retryUntil - $payload['pushedAt'] : config('vapor-ui.retry_until', 3600) + ))->getTimestamp(); + } + return json_encode($payload); } }