在app/console/kernel.php中,我将代码设置为
protected function schedule(Schedule $schedule)
{
$schedule->job(new Refresher);
}
当我运行PHP artisan Schedule:run
命令时,我会得到No scheduled commands are ready to rund.
消息。 我不确定是否漏掉了什么,我尝试添加->everyminute()
,但仍然不起作用。
您的代码正在创建排队作业。 队列应自行运行。 但是,如果您想自己启动队列,请使用以下命令:
php artisan queue:work --stop-when-empty
排队作业与计划任务一样,应该在作业方法之后链接一个频率选项。 将其添加到代码中:
protected function schedule(Schedule $schedule)
{
$schedule->job(new Refresher)->everyMinute();
}
注意:复习类必须尊重特定的类结构。您可以在Laravel文档https://Laravel.com/docs/5.8/queues#class-structure中找到它(我不知道您正在使用的Laravel版本,所以我发布了5.8文档。只需将版本更改为您在URL中使用的版本即可)
如果您需要创建一个简单的任务,您可以简单地将代码更改为:
$schedule->call(new Refresher)->everyMinute();