【发布时间】:2016-02-19 11:33:41
【问题描述】:
我有一个带触发器的任务:
At 0:00 every day - after triggered, repeat every 1 hours for a duration of 1 day.
在我的应用程序中,我以这种方式读取时间:
dateTimeUtcNow = DateTime.Now;
有时,非常罕见,dateTimeUtcNow 会在整小时前几毫秒显示时间,例如 2015-11-11 14:59:59,914
服务器在 Windows Server 2012 R2 上运行,我可以在家庭版上接受这个,但不能在生产版上接受。
为什么?这是一个错误吗?我怎样才能防止这种情况发生?
【问题讨论】:
-
例如将触发器更改为 0:01 而不是 0:00?
-
好的我可以做到,但是为什么会发生呢?
-
这里有一个关于 SU 的类似问题:Why is Windows Task Scheduler starting my tasks early? 如果我不得不猜测,我会说这是计时器准确性受到限制的问题。
-
@shurik 这会使它在工作时运行迟到。最好检查当前时间是否是您想要的,并在需要时重新安排/睡眠。
-
86 毫秒要快得多。计划任务和接收应用在同一台机器上吗?
标签: c# windows-server-2008-r2 taskscheduler