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