30 lines
627 B
PHP
30 lines
627 B
PHP
<?php
|
|
|
|
namespace App\Services\System;
|
|
|
|
use Illuminate\Support\Facades\Artisan;
|
|
use Illuminate\Support\Facades\Cache;
|
|
|
|
class CleanupSchedulerService
|
|
{
|
|
public function shouldRun(string $cacheKey, int $minutes): bool
|
|
{
|
|
$lastRun = Cache::get($cacheKey);
|
|
if (! $lastRun) {
|
|
return true;
|
|
}
|
|
|
|
return now()->diffInMinutes($lastRun) >= $minutes;
|
|
}
|
|
|
|
public function markRun(string $cacheKey): void
|
|
{
|
|
Cache::put($cacheKey, now(), now()->addDay());
|
|
}
|
|
|
|
public function runUnverifiedCleanup(): void
|
|
{
|
|
Artisan::call('users:delete-unverified');
|
|
}
|
|
}
|