34
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Foundation\Inspiring;
|
||||
use Illuminate\Support\Facades\Artisan;
|
||||
|
||||
Artisan::command('inspire', function () {
|
||||
$this->comment(Inspiring::quote());
|
||||
})->purpose('Display an inspiring quote');
|
||||
|
||||
use Illuminate\Support\Facades\Schedule;
|
||||
|
||||
Schedule::command('app:cleanup-old-events')->daily();
|
||||
|
||||
// Frecuencia de backup configurable (con fallback seguro si DB no disponible)
|
||||
try {
|
||||
$backupFreq = \App\Models\Configuracion::get('backup_frequency', 'daily');
|
||||
} catch (\Throwable $e) {
|
||||
$backupFreq = 'daily';
|
||||
}
|
||||
Schedule::command('backup:run')->{$backupFreq}()->at('01:00');
|
||||
Schedule::command('backup:clean')->{$backupFreq}()->at('02:00');
|
||||
|
||||
// Recordatorio de partidos: diariamente a las 9am
|
||||
Schedule::command('notificaciones:recordatorio-partido')->dailyAt('09:00');
|
||||
|
||||
// Reporte semanal: lunes a las 8am
|
||||
Schedule::command('reportes:semanal')->weeklyOn(1, '08:00');
|
||||
|
||||
// Purge de hilos de conversación del agente expirados
|
||||
Schedule::command('agent:purge-threads')->dailyAt('03:00');
|
||||
|
||||
// Registro de salud del sistema: se ejecuta cada minuto para confirmar que el Cron Job funciona
|
||||
Schedule::call(function () {
|
||||
\App\Models\Configuracion::set('last_scheduler_run', now()->toDateTimeString(), 'Última ejecución detectada del programador');
|
||||
})->everyMinute();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user