Laravel 调度程序说 "No scheduled commands are ready to run."

Laravel scheduler says "No scheduled commands are ready to run."

我设置了这样的命令:

protected function schedule(Schedule $schedule)
{
    $schedule->command('feeds:fetch')->everyFiveMinutes();
}

我已经为 运行 php artisan schedule:run

设置了一个 cron 作业

当我 运行 开发者终端上的那一行时,它 运行 任务正常。在产品上 returns "No scheduled commands are ready to run."

有什么办法解决这个问题吗?

Larachat (https://larachat.slack.com/) 的好朋友帮我调试了这个问题。

问题出在我的 crontab 上。我正在设置 crontab 来执行 artisan 调度程序,如下所示:

*/1 * * * * php /path/to/artisan schedule:run

(意思是每天每小时的第 1 分钟 执行。)

什么时候应该是:

* * * * * php /path/to/artisan schedule:run

(意思是每天每小时每分钟执行。)

所以,当我在每小时的非第一分钟手动 运行 cron 时,它根本没有 运行。

我已经找到解决这个问题的方法。只需在 $schedule.

中添加时间戳

您可以根据需要更改命令名称、时间和时区。

$schedule->command('tenam:before')
        ->dailyAt('22:28')->timezone('Asia/Kolkata');