phpvms/app/Console/Kernel.php

59 lines
1.6 KiB
PHP
Raw Normal View History

2017-06-09 02:28:26 +08:00
<?php
namespace App\Console;
2018-08-25 01:07:14 +08:00
use App\Console\Cron\Hourly;
use App\Console\Cron\Monthly;
use App\Console\Cron\Nightly;
use App\Console\Cron\Weekly;
use App\Services\CronService;
2017-06-09 02:28:26 +08:00
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Contracts\Events\Dispatcher;
use Illuminate\Contracts\Foundation\Application;
2017-06-09 02:28:26 +08:00
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
class Kernel extends ConsoleKernel
{
private $cronSvc;
public function __construct(Application $app, Dispatcher $events)
{
parent::__construct($app, $events);
$this->cronSvc = app(CronService::class);
}
2017-06-09 02:28:26 +08:00
/**
* Define the application's command schedule.
2018-08-27 00:40:04 +08:00
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
*
2017-06-09 02:28:26 +08:00
* @return void
*/
protected function schedule(Schedule $schedule): void
2017-06-09 02:28:26 +08:00
{
$schedule->command(Nightly::class)->dailyAt('01:00');
$schedule->command(Weekly::class)->weeklyOn(0);
$schedule->command(Monthly::class)->monthlyOn(1);
2018-08-25 01:07:14 +08:00
$schedule->command(Hourly::class)->hourly();
// When spatie-backups runs
$schedule->command('backup:clean')->daily()->at('01:00');
$schedule->command('backup:run')->daily()->at('02:00');
// Update the last time the cron was run
$this->cronSvc->updateLastRunTime();
2017-06-09 02:28:26 +08:00
}
/**
* Register the Closure based commands for the application.
2018-08-27 00:40:04 +08:00
*
2017-06-09 02:28:26 +08:00
* @return void
*/
protected function commands(): void
2017-06-09 02:28:26 +08:00
{
require app_path('Http/Routes/console.php');
$this->load(__DIR__.'/Commands');
$this->load(__DIR__.'/Cron');
2017-06-09 02:28:26 +08:00
}
}