为了账号安全,请及时绑定邮箱和手机立即绑定

无论指定的时间表如何,Laravel Scheduler 每分钟运行一次

无论指定的时间表如何,Laravel Scheduler 每分钟运行一次

PHP
喵喔喔 2023-04-21 10:24:42
我在 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方法中运行。

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


查看完整回答
反对 回复 2023-04-21
  • 1 回答
  • 0 关注
  • 85 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信