ldc-legaulois/app/Jobs/DeleteOldMessages.php
2026-09-25 16:25:31 +02:00

40 lines
1 KiB
PHP

<?php
namespace App\Jobs;
use App\Enums\NotificationType;
use App\Models\Message;
use App\Models\Notification;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Log;
class DeleteOldMessages implements ShouldQueue
{
use Dispatchable;
use InteractsWithQueue;
use Queueable;
use SerializesModels;
/**
* Execute the job.
*/
public function handle(): void
{
Log::debug(sprintf(
'Deleted %d old messages that are more than 30 days',
Message::getMessagesOlderThan(30)->delete()
));
Log::debug(sprintf(
'Deleted %d old messages notification that are more than 30 days',
Notification::query()->where([
['updated_at', '<', now()->subDays(30)],
['type', '=', NotificationType::message],
])->delete()
));
}
}