Skip to main content
Version: Next

Commands

If you choose not to use the MoonGuardCommandScheduler, you can set up each command individually as follows:

Scheduling CheckUptime Command

Scheduling the Uptime Check can be done through the CheckUptimeCommand class and Laravel's command scheduler.

Go to app/Console/Kernel.php and use the CheckUptimeCommand class and add schedule the command in the schedule() method:

<?php

namespace App\Console;

use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
use Taecontrol\MoonGuard\Console\Commands\CheckUptimeCommand;

class Kernel extends ConsoleKernel
{
//...
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
$schedule->command(CheckUptimeCommand::class)->everyMinute();
}
}

With this, all your sites uptime status will be updated every minute.

Scheduling CheckSslCertificate Command

The CheckSslCertificateCommand can also be scheduled using Laravel's command Scheduler and specify when the command should run in the schedule method.

<?php

namespace App\Console;

use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
use Taecontrol\MoonGuard\Console\Commands\CheckSslCertificateCommand;

class Kernel extends ConsoleKernel
{
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
$schedule->command(CheckSslCertificateCommand::class)->everyTwoHours();
}
}

In this case, we can set the CheckSslCertificateCommand to run every 2 hours.

Scheduling PruneException Command

The PruneExceptionCommand deletes all exceptions that are older than 7 days by default. You can change its behavior in the configuration file.

<?php

namespace App\Console;

use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
use Taecontrol\MoonGuard\Console\Commands\PruneExceptionCommand;

class Kernel extends ConsoleKernel
{
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
$schedule->command(PruneExceptionCommand::class)->daily();
}
}

Scheduling PruneServerMetric Command

The PruneServerMetricCommand deletes all the Systems Monitoring data older than 7 days by default. You can change its behavior in the configuration file.

<?php

namespace App\Console;

use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
use Taecontrol\MoonGuard\Console\Commands\PruneServerMetricCommand;

class Kernel extends ConsoleKernel
{
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
$schedule->command(PruneServerMetricCommand::class)->daily();
}
}

For more scheduling options, please refer to the Laravel documentation.