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');
我设置了这样的命令:
protected function schedule(Schedule $schedule)
{
$schedule->command('feeds:fetch')->everyFiveMinutes();
}
我已经为 运行 php artisan schedule:run
当我 运行 开发者终端上的那一行时,它 运行 任务正常。在产品上 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');