我们正在建立一个可以处理每日/每周/每月/每季度作业运行的服务。我们面临的问题是关于季度工作的。我们刚刚发现,在运行我们的工作时,它Timer()
在我们的代码中的这一点上失败了:
_tmr = new System.Timers.Timer(lapsed);
var lapsed
lapsed 最终超过 7,500,000,000 毫秒。
错误是:
Invalid valud 7,500,00,00 for parameter 'interval'
所以现在我们按照Timer()
定义理解了 Timer() 间隔:
// Parameters:
// interval:
// The time, in milliseconds, between events. The value must be greater than zero
// and less than or equal to System.Int32.MaxValue.
我们意识到我们不能传递大于System.Int32.MaxValue
(或 2,147,483,647)的区间值
我的问题:
我试图想办法模拟这个季度的“工作服务”功能,同时解决这个毫秒间隔限制。
例如,也许我可以将作业标记为“每月”,但逻辑将每周检查作业 - 只有当我们到达下一个季度时才执行实际的作业对象。
我对此有点坚持,因此非常感谢任何指导和/或建议....