laravel 任务调度器

laravel task scheduler

我想知道 laravel forge 的任务调度程序是否覆盖了我的内核 Class 文件中的设置,因为我不知道它将使用哪个 因为我在 laravel 的仪表板中设置了每日伪造,并在我的内核中 class 向 运行 提交了一个命令,只是它是像这样的一个月的第一天

$schedule->command('log:demo')->daily()->when(function(){
            if(Carbon::now()->toDateString() == Carbon::now()->startOfMonth()->toDateString())
            {
                return true;
            }
});

我在这里放了 daily() 函数来检查每天是否是一个月的第一天 而且我知道如果函数不 return true 它将不会执行 但是 laravel forge 它每天都执行,我认为 forge 不会看这个文件

你希望每分钟 schedule:run 到 运行 - 这会检查你的内核中有什么,如果那一分钟需要 运行 它会 运行那个特定的任务(工作)。

例如,如果我有一项任务 运行 一次 per/hour 和另一项任务 运行 每天一次。我只需要在 Forge 中执行一项计划任务:schedule:run - 然后在我的内核中我会

protected function schedule(Schedule $schedule)
{
     $schedule->command('report:hourly')->hourly();
     $schedule->command('report:daily')->daily();
}

确保您的命令已在内核中注册:

 protected $commands = [
     Commands\Hourly::class,
     Commands\Daily::class,
];