0

我想知道 laravel forge 的任务调度程序是否覆盖了我的内核类文件中的设置,因为我不明白它将使用哪一个,因为我每天在 laravel forge 的仪表板中设置了一个命令来运行只是像这样的月初

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

我把 daily() 函数放在这里每天检查它是否是本月的第一天,我知道如果函数没有返回 true,它不会被执行,但是使用 laravel forge 它每天都会执行,我认为 forge 不会看这个文件 在此处输入图像描述

4

1 回答 1

4

您希望 schedule:run 每分钟都运行 - 这会检查您内核中的内容,如果需要在那一刻运行某些内容,它将运行该特定任务(作业)。

例如,如果我有一个每小时运行一次的任务和另一个每天运行一次的任务。我只需要 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,
];
于 2015-12-25T00:31:08.867 回答