【发布时间】:2013-06-07 09:51:32
【问题描述】:
有一些解决方案可以运行调度程序来开始触发。但我的要求也是在最后触发。
我有如下时间表输入:-
- 我必须在预定时间开始时恢复进度。
- 如果在有效的预定日期范围之间有休息时间,我必须暂停它。休息后恢复。
看起来很复杂的工作。请给我一个更好的方法来解决它。
- 我有一个计时器。根据上述时间表,它必须计算 2013 年 6 月 11 日 19:16 和 2013 年 6 月 17 日 23:59 之间的时间间隔(因为星期二有自定义时段)。 现在以“恢复”状态启动计时器。
- 在此计时器过去后,将在 2013 年 6 月 17 日 23:59 到 2013 年 6 月 18 日 06:00 之间计算间隔。现在以“暂停”状态启动计时器。等等……
【问题讨论】:
-
如果您想在一个程序中完成所有操作,那么您的方法可能是最好的方法。尽管您可能会遇到经过时间和夏令时的问题。你可能对我的 Waitable Timer 感兴趣。见devsource.com/c/a/Languages/Waitable-Timers-in-NET-CSharp。源代码在mischel.com/pubs/waitabletimer.zip
-
但我需要一个基于时间表的计时器。如果我给出一个像上面这样的时间表,它需要在活动时间范围和非活动时间范围的起点触发。
标签: c# scheduled-tasks scheduling