0

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

除了每月的部分,我的一切都在工作,我们希望在每月的第三个星期四执行它。我已经知道如何在第三个星期四 gt,所以这不是问题。问题是我不能超过 28.4 天,而且每个月间隔都会改变。我研究过 System.Threading,但据我所知,我不能将它用于不同间隔的多个作业。

任何人都有解决方案或需要我研究的东西,这可能会引导我朝着正确的方向前进?

4

1 回答 1

0

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

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

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

于 2012-10-05T13:28:49.030 回答