22 lines
758 B
PHP
22 lines
758 B
PHP
<?php
|
|
|
|
use App\Domains\Catalog\Services\ExpireStockReservationsService;
|
|
use Illuminate\Foundation\Inspiring;
|
|
use Illuminate\Support\Facades\Artisan;
|
|
use Illuminate\Support\Facades\Schedule;
|
|
|
|
Artisan::command('inspire', function () {
|
|
$this->comment(Inspiring::quote());
|
|
})->purpose('Display an inspiring quote');
|
|
|
|
Artisan::command('reservations:expire', function (): void {
|
|
$expired = app(ExpireStockReservationsService::class)->expireOverdue();
|
|
|
|
$this->info("Expired purchases: {$expired['purchases']}");
|
|
$this->info("Expired cart items: {$expired['cart_items']}");
|
|
})->purpose('Release expired stock reservations from purchases and abandoned carts');
|
|
|
|
Schedule::command('reservations:expire')
|
|
->everyMinute()
|
|
->withoutOverlapping();
|