Php 如何在100分钟的周期内间隔cron?

Php 如何在100分钟的周期内间隔cron?,php,bash,cron,scheduled-tasks,crontab,Php,Bash,Cron,Scheduled Tasks,Crontab,我必须拆分一些较大的cron,一个简单的方法是只取id的最后两位数字。因此,ID10001将与1101201、…10012001等同时运行 它们现在被拆分100次,运行更加一致,而不是单个cron需要数小时才能运行 但是,如何安排cron从x开始每100分钟运行一次 例如: php cron.cli 00 start at 12:01am and run every 100 minutes php cron.cli 01 start at 12:01am php cron.cli 02

我必须拆分一些较大的cron,一个简单的方法是只取id的最后两位数字。因此,ID10001将与1101201、…10012001等同时运行

它们现在被拆分100次,运行更加一致,而不是单个cron需要数小时才能运行

但是,如何安排cron从x开始每100分钟运行一次

例如:

php cron.cli 00   start at 12:01am and run every 100 minutes
php cron.cli 01   start at 12:01am
php cron.cli 02   start at 12:02am
     . . .
php cron.cli 99   start at 1:39am
php cron.cli 00   start at 1:40am [looping every 100 minutes]
php cron.cli 01   start at 1:41am
我需要cron 01在12:01开始,cron 02在12:02开始,cron 99在1:39开始。之后每100秒一次


您能帮忙吗?

假设它们不必连续运行,一个简单的解决办法是让它们每120分钟运行一次,这样您就可以为作业00到59指定偶数小时(我猜您从00开始,因为您在99完成)。为作业61到99指定奇数小时


如果您想要更均匀的分布,您可以将它们分散一点(跳过6的倍数),这样作业00到49占满第一个小时,50到99占满第二个小时。

假设它们不必连续运行,一个简单的解决方法是让它们每120分钟运行一次,因此,您可以为作业00到59指定偶数小时(我猜您从00开始,因为您在99完成),为作业61到99指定奇数小时


如果您想要更均匀的分布,您可以将它们分散一点(跳过6的倍数的分钟数),这样作业00到49占满第一个小时,50到99占满第二个小时。

我只会在crontab文件中写入一个条目。one命令将启动
cron.cli
脚本,并将当前时间作为参数传递

然后,
cron cli
脚本获取该参数并从中创建有问题的id。这样,该文件的管理就简单多了,因为您不会用太多的条目弄乱crontab文件。想象你的100步变成了200步甚至更多

* * * * * php cron.cli $(date +\%R)

我只会在crontab文件中写入一个条目。one命令将启动
cron.cli
脚本,并将当前时间作为参数传递

然后,
cron cli
脚本获取该参数并从中创建有问题的id。这样,该文件的管理就简单多了,因为您不会用太多的条目弄乱crontab文件。想象你的100步变成了200步甚至更多

* * * * * php cron.cli $(date +\%R)

幸运的是,如果您明确地写出来,您只需要指定一年的cron条目,因为:


幸运的是,如果您明确地写出来,您只需要指定一年的cron条目,因为:


不知道你在做什么,但你考虑过一个守护进程吗。不知道你在做什么,但你考虑过一个守护进程吗。我喜欢它。很简单。您是否愿意就如何将hh:mm转换为100个作业中的每一个作业提供建议?
(hh*60+mm)%100
应根据一天中的分钟,从
0
开始在
00:00
为您提供一个0-99之间的id-也许从UNIX时代开始的几分钟内可以更好地适应一天的时间。我喜欢它。很简单。您是否愿意就如何将hh:mm转换为100个作业中的每一个作业提供建议?
(hh*60+mm)%100
应根据一天中的分钟,从
0
开始在
00:00
为您提供一个0-99之间的id-也许从UNIX时代开始的几分钟内可以更好地进行日内扩展。