我不得不拆分一些较大的crons,一个简单的方法就是取id的最后两位数字。因此id 10001将与1,101,201,... 1001,2001等同时运行
而不是单个cron花费数小时来运行,现在它们被拆分100次并且运行得更加一致。
但是,如何从 x 开始,每隔100分钟安排一次cron运行?
示例:
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开始。之后每隔一百秒。
你能帮忙吗?
答案 0 :(得分:5)
我只会在crontab文件中写入一个条目。 one命令将启动cron.cli
脚本并将当前时间作为参数传递。
然后cron-cli
脚本接受该参数并从中创建有问题的id。这样做,文件管理起来要简单得多,因为你不会把crontab文件弄得太乱了。想象你的100个步骤变成了200步甚至更多......
* * * * * php cron.cli $(date +\%R)
答案 1 :(得分:2)
假设他们不必连续运行,一个简单的解决办法就是让他们每120分钟运行一次,这样你就可以为工作00到59指定偶数小时(我猜你从00开始,因为你完成了99.)和奇数小时的工作61到99。
如果你想要更均匀的分布,你可以将它们分散一点(跳过6的倍数),这样第一个小时就可以填满作业00到49,第二个小时填满50到99。
答案 2 :(得分:2)
幸运的是,如果你明确地写出来,你只需要指定一年的cron条目,因为: