33 lines
688 B
PHP
33 lines
688 B
PHP
<?php
|
|
|
|
namespace App\Jobs;
|
|
|
|
use App\Domain\Reservations\Services\ReservationService;
|
|
use Illuminate\Contracts\Queue\ShouldBeUnique;
|
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
|
use Illuminate\Foundation\Queue\Queueable;
|
|
|
|
class ExpirePendingReservations implements ShouldBeUnique, ShouldQueue
|
|
{
|
|
use Queueable;
|
|
|
|
public int $tries = 3;
|
|
|
|
public int $timeout = 120;
|
|
|
|
public int $uniqueFor = 240;
|
|
|
|
/** @var list<int> */
|
|
public array $backoff = [10, 30, 60];
|
|
|
|
public function uniqueId(): string
|
|
{
|
|
return 'pending-reservations';
|
|
}
|
|
|
|
public function handle(ReservationService $reservations): void
|
|
{
|
|
$reservations->expirePending();
|
|
}
|
|
}
|