重新分配cron

时间:2013-01-25 10:18:40

标签: cron

(我提前为我的问题的错误表达道歉,请认为英语不是我的第一语言。)

我有几个进程(crons),我想“优化”计划何时启动它们。

例如,cron c1每3分钟启动一次,cron c1每7分钟启动一次,cron c3每18分钟启动一次。假设它们在停止前仅持续几秒钟。

这里的时间单位为1分钟。

现在,我想要的是这些crons是分布式的,这样我们就不会有很多时候开始的时刻,然后是没有cron的长时间间隔。例如,如果c1和c3都在时间0开始,那么它们将每18分钟一起重新开始。最好在时间0启动cron c1,然后在时间1启动c3,这样它们就不会一起启动。

因此,给定一个具有周期性的crons列表,计划一个时间表,以便每个cron之间有尽可能多的时间,以及两个crons一起开始时尽可能少的时间。

有关于此类问题的一些众所周知的算法吗?

这个问题的实际应用是:~200 crons。其中一些是每5或10或30分钟发射一次,持续时间很短(几秒钟),有些(约20-25)每2小时发射一次,持续几分钟。因此,我们的想法也就是大cr不会同时发布。

我自己是一名数学家,而不是计算机科学家,所以我在https://math.stackexchange.com/上提出这个问题,因为我认为这对数学家来说也是一个“好”的问题。

1 个答案:

答案 0 :(得分:0)

我认为你应该考虑每个crons使用的资源,然后安排你的工作。

我认为没有特定的算法。