获取系统服务以在每月的某一天运行

时间:2012-10-05 13:22:53

标签: timer

我有一个项目,可以创建批处理服务来运行在我的主项目中创建的作业。我的问题是,使用System.Timers.Timer,它无法安排过去28.4天,并且间隔不能变化。我的批处理服务有大约9个操作员,有些每隔几分钟执行一次,每天,每周和每月执行一次。

除了月刊之外,我的所有工作都有效,我们希望在本月的第3个星期四执行。我已经知道如何在第三个星期四播出,这不是问题。问题是我不能超过28.4天,而且每个月的间隔都会改变。我已经研究过System.Threading,但从我可以看到的是我不能将它用于不同间隔的多个作业。

任何人都有解决方案或其他东西供我调查,这可能会让我朝着正确的方向前进?

1 个答案:

答案 0 :(得分:0)

您可能需要重新考虑您的设计,以较短的间隔(天,小时甚至分钟)启动计时器,以检查它是否已达到某个预先存储的日期/时间。

您上面建议的问题是,如果您重新启动服务或重新启动该框,您将失去计时器。

所以...对于每月运行,将计时器设置为24小时。存储下次应该在某处运行作业(数据库,文件系统,注册表),并在每次定时器事件触发并运行需要运行的内容时进行检查。