command('payments:check-accounts')->dailyAt('02:00'); // Jobs 2, 3, 4: Die Befehle aus deinem alten Shell-Skript. // Werden nacheinander täglich zu unterschiedlichen Zeiten ausgeführt, // um die Serverlast zu verteilen. $schedule->command('business:store-optimized 0 0')->dailyAt('03:00'); $schedule->command('user:cleanup')->dailyAt('03:30'); $schedule->command('user:make_abo_order')->dailyAt('04:00'); // Abo-Chart-Snapshots: vergangene Monate einfrieren (nach allen Abo-Jobs) $schedule->command('abo:store-chart-snapshots')->dailyAt('04:30'); // Incentive: Punkteberechnung täglich nach business:store-optimized $schedule->command('incentive:calculate')->dailyAt('05:00'); // Cleanup old log files weekly (keeps logs for 30 days) $schedule->command('logs:cleanup --days=30')->weekly()->sundays()->at('05:00'); // DHL Tracking Update: Stündlich mit status-basierten Intervallen und Batch-API $schedule->command('dhl:update-tracking --days=30 --send-emails') ->hourly() ->withoutOverlapping() ->runInBackground(); } /** * Register the commands for the application. * * @return void */ protected function commands() { $this->load(__DIR__.'/Commands'); require base_path('routes/console.php'); } }