是否可以使Laravel中的作业批处理在运行下一个作业之前等待到将来的某个时间?

k10s72fa  于 2023-03-09  发布在  其他
关注(0)|答案(1)|浏览(112)

我有一个命令,其中创建了一个作业批处理,该作业批处理运行的某些工作至少持续40分钟,但如果下一个作业将在凌晨2点之后执行,我需要该批处理暂停大约10小时,然后在中午12点重新启动。我为突击队制定了一个计划,如果时间介于这两个小时之间,则不创建新批处理。现在的问题是,如果时钟到达间隔,我需要暂停批处理。我想在每个作业的开始时做一个处理,检查一天中的时间,如果时间在该间隔内,则继续循环,但我不确定主管或排队工人是否会挂那么长时间等待工作结束。从技术上讲,这就像是在做什么,但这是一个很大的时间量。

1dkrff03

1dkrff031#

是的,可以循环到将来的某个时间,只是比较日期('Hi ')返回字符串中的时间(例如,如果(date('Hi ')〈=' 0800')...),并保持php.ini中的max_execution_time = 0和queue.php上数据库驱动程序中的retry_after为58000(超过了一个作业所能花费的最长时间)。我一直运行作业批处理几乎16个小时,它正常重新启动,问题是,我的服务器管理员告诉我,改变phpiderini不是一个选项,因此我将搜索其他任何内容,并让您知道是否有其他方法可以让作业批等待那么长时间。

相关问题