add: comando para limpiar detecciones diarias

This commit is contained in:
Juan Felipe Zapata Moreno 2026-01-12 15:58:15 -06:00
parent 3981aaa331
commit 5497537d03
3 changed files with 41 additions and 0 deletions

View File

@ -0,0 +1,32 @@
<?php
namespace App\Console\Commands;
use App\Models\DailyDetection;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\Log;
class LimpiarDeteccionesDiarias extends Command
{
protected $signature = 'detecciones:limpiar {--dias=1 : Eliminar registros más antiguos de X días}';
protected $description = 'Elimina las detecciones diarias antiguas de la tabla daily_detections';
public function handle()
{
$dias = (int) $this->option('dias');
$fecha = now()->subDays($dias)->format('Y-m-d');
$this->info("Eliminando detecciones anteriores a: {$fecha}");
$eliminados = DailyDetection::whereDate('fecha_deteccion', '<', $fecha)->delete();
$this->info("{$eliminados} registros eliminados de daily_detections");
Log::info("Limpieza automática de detecciones diarias", [
'registros_eliminados' => $eliminados,
'fecha_limite' => $fecha
]);
return 0;
}
}

View File

@ -114,6 +114,10 @@ fi
echo "✓ Configuración de desarrollo completada"
echo "=== Iniciando scheduler en background ==="
# Ejecutar scheduler cada minuto en background
(while true; do php artisan schedule:run >> /var/www/arcos-backend/storage/logs/scheduler.log 2>&1; sleep 3600; done) &
echo "=== Iniciando PHP-FPM DESARROLLO ==="
exec "$@"

View File

@ -8,3 +8,8 @@
}
Schedule::call(new DeleteResetPasswords)->hourly();
// Limpiar detecciones diarias a las 00:00
Schedule::command('detecciones:limpiar')
->dailyAt('00:00')
->timezone(config('app.timezone', 'UTC'));