<?php namespace App\Console\Commands; use App\Models\Service; use Illuminate\Console\Command; class DeleteOlderMetricsCommand extends Command { protected $signature = 'metrics:delete-older-metrics'; protected $description = 'Delete older metrics from database'; public function handle() { Service::query()->where('type', 'monitoring')->chunk(100, function ($services) { $services->each(function ($service) { $this->info("Deleting older metrics for service {$service->server->name}"); $service ->server ->metrics() ->where('created_at', '<', now()->subDays($service->handler()->data()['data_retention'])) ->delete(); $this->info('Metrics deleted'); }); }); } }