Laravel 调度器 运行 每分钟一次,无论指定的调度如何

Laravel Scheduler running every minute regardless of specified schedule

我在 crontab 中触发了 Laravel 计划命令:

* * * * * php /home/forge/site/artisan schedule:run

这是通过 Forge 设置的。

然后,在 app/Console/Kernel.php 中,我将每小时 运行 触发我的工作:

$schedule->job(new GetRecentArtists())->hourly();

但它仍然每分钟 运行宁。

我的理解是 artisan 命令需要每分钟 运行ning 一次,以便可以检查作业计划以查看作业是否需要根据其特定计划触发。

更新

我已尝试按照 Sahidul 的评论中的建议重新启动队列,并确认 none 内置计划(每小时、每天等)阻止它 运行每分钟宁。

当我从 crontab 中删除计划并通过 php artisan schedule:run 运行 时,我得到 'No scheduled commands are ready to run' 但任务仍然 运行s。

这是一条红鲱鱼。我的日志消息在作业的 __construct 方法中将作业显示为 运行,而不是在 handle 方法中。

作业是在调度程序运行时构建的,然后添加到要按照调度执行的队列中 - 因此会立即调用构造方法,但直到预定时间才真正处理作业。