Paillasse/portail/routes/console.php

30 lines
1.2 KiB
PHP
Raw Permalink Normal View History

<?php
use App\Models\DemandeInscription;
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');
// Étape 10 : ferme les sessions de lab dont l'expiration est passée.
Schedule::command('labs:expirer-sessions')->everyMinute();
// Étape 11 : stock chaud ajusté à sa cible, stacks orphelines supprimées.
Schedule::command('labs:remplir-stock')->everyMinute()->withoutOverlapping(5);
// Bloc A, self-healing : VM muettes du stock remplacées, VM d'élèves relancées.
Schedule::command('labs:surveiller-vm')->everyMinute()->withoutOverlapping(5);
// Horizon : instantanés des métriques (débit, temps d'attente des files).
Schedule::command('horizon:snapshot')->everyFiveMinutes();
// Étape 14 (RGPD) : classes archivées depuis 90 jours supprimées avec les
// données de leurs élèves.
Schedule::command('classes:purger-archivees')->dailyAt('02:30');
// Demandes pour rejoindre une classe non traitées depuis une heure : supprimées.
Schedule::command('model:prune', ['--model' => [DemandeInscription::class]])->everyFifteenMinutes();