HEX
Server: LiteSpeed
System: Linux s3604.bom1.stableserver.net 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
User: dmstechonline (1480)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: /home/dmstechonline/whatsapp.dmstech.online/app/Console/Kernel.php
<?php

namespace App\Console;

use App\Jobs\CreateCampaignLogsJob;
use App\Jobs\ProcessCampaignMessagesJob;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;

class Kernel extends ConsoleKernel
{
    /**
     * Define the application's command schedule.
     */
    protected function schedule(Schedule $schedule): void
    {
        $schedule->job(new CreateCampaignLogsJob(), 'campaign-logs')
            ->everyMinute()
            ->withoutOverlapping();

        $schedule->job(new ProcessCampaignMessagesJob(), 'campaign-messages')
            ->everyMinute()
            ->withoutOverlapping();

        /*$schedule->command('queue:work --queue=campaign-messages,campaign-logs --stop-when-empty')
            ->everyMinute()
            ->withoutOverlapping();*/
        
        // Monitor queue health
        $schedule->command('queue:restart')
            ->hourly()
            ->evenInMaintenanceMode();
        
        // Clean failed jobs table
        $schedule->command('queue:prune-failed --hours=24')
            ->daily()
            ->evenInMaintenanceMode();

        $schedule->command('queue:prune-batches --hours=48 --unfinished=72')
            ->daily();
        
        $schedule->command('model:prune', [
            '--model' => [CampaignLog::class],
            '--hours' => 72,
        ])->daily();

        // Monitor queue size
        $schedule->command('monitor:queue-size')
            ->everyFiveMinutes();
    }

    /**
     * Register the commands for the application.
     */
    protected function commands(): void
    {
        $this->load(__DIR__.'/Commands');

        require base_path('routes/console.php');
    }
}