【发布时间】:2009-08-01 07:31:04
【问题描述】:
我有如下要求(相信我,我太老了,不能做作业咧嘴笑)
我有一堆以不同频率运行的任务。他们也有一个开始的“种子”日期/时间。起始种子是过去的某个时间,可能是一分钟前,也可能是 5 年前。
我需要使用开始种子日期/时间和频率来计算任务的下一次运行时间 - 它不能简单地是“现在”+任务频率(对于那些在 MS SQL Server 上安排了作业的人)这是一个熟悉的概念)
现在愚蠢的做法是获取起始种子并继续添加频率,直到它变得大于“现在”。这几乎不是最优的。天真的方法是采用开始种子日期,将其更改为今天的日期并保持时间不变,然后添加频率直到它大于现在,但假设频率是 24 小时的倍数。
那么最好/最快的方法是什么? C# 解决方案的加分点,但这对于任何语言来说都足以成为一个有趣的难题:)
【问题讨论】:
标签: algorithm scheduling