我在 crontab 中触发了 Laravel schedule 命令:* * * * * php /home/forge/site/artisan schedule:run这是通过 Forge 设置的。然后,在app/Console/Kernel.php我触发我的工作每小时运行一次:$schedule->job(new GetRecentArtists())->hourly();但它仍然每分钟都在运行。我的理解是 artisan 命令需要每分钟运行一次,以便可以检查作业计划以查看作业是否需要根据其特定计划触发。更新我已尝试按照 Sahidul 评论中的建议重新启动队列,并确认没有任何内置计划(每小时、每天等)阻止它每分钟运行。当我从 crontab 中删除计划并通过 运行它时php artisan schedule:run,我得到“没有计划的命令准备好运行”但任务仍然运行。
1 回答
回首忆惘然
TA贡献1847条经验 获得超11个赞
这是一条红鲱鱼。我的日志消息显示作业在__construct
作业方法中运行,而不是在handle
方法中运行。
该作业是在调度程序运行时构建的,然后添加到队列中以按照计划执行 - 因此会立即调用构造方法,但直到预定时间才真正处理该作业。
- 1 回答
- 0 关注
- 119 浏览
添加回答
举报
0/150
提交
取消