Laravel任务计划未运行命令

时间:2020-06-25 14:06:48

标签: php laravel

在我的app / Console / Kernel.php中,我将代码设置为

protected function schedule(Schedule $schedule)
    {
        $schedule->job(new Refresher);
    }

运行php artisan schedule:run命令时,我收到No scheduled commands are ready to run.消息。我不确定是否有任何遗漏,我曾尝试添加->everyMinute(),但仍然无法正常工作。

1 个答案:

答案 0 :(得分:0)

您的代码正在创建排队的作业。队列应自行运行。但是,如果要自己启动队列,请使用以下命令:

php artisan queue:work --stop-when-empty

排队的作业,如计划的任务,应在作业方法之后链接一个频率选项。将其添加到您的代码中:

protected function schedule(Schedule $schedule)
{
    $schedule->job(new Refresher)->everyMinute();
}

注意:Refresher类必须遵循特定的类结构。您可以在Laravel文档https://laravel.com/docs/5.8/queues#class-structure中找到它(我不知道您正在使用的Laravel版本,所以我发布了5.8文档。将版本更改为您在URL中使用的版本)

如果您需要创建一个简单的任务,则只需将代码更改为:

$schedule->call(new Refresher)->everyMinute();