在我的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()
,但仍然无法正常工作。
答案 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();