定时器或任务是否适用于空闲时间较长的任务

时间:2015-04-30 08:11:58

标签: c# timer task

我有一组项目需要每天在特定时间运行一次。我打算将每个项目作为web服务运行,并使用Timer或Task.Delay来安排工作,但是计时器/任务是否适合用于长时间空闲的调度工作?

这是我的调度程序配置,以及如何创建计时器。所有配置都存储在DB中。

r.v_amount

1 个答案:

答案 0 :(得分:4)

通常使用这样的计时器并不是很好,而且在IIS中它更糟糕 - IIS将专门杀死空闲进程(除非你不配置它或ping它以使其保持活动状态)。

在任何情况下,你真的在​​23:59:00运行并且不必要地占用了你的程序实际上没有做任何事情的资源,并且让它暴露在它被杀的可能性之中或者其他任何东西。

在指定时间有更好的运行方式。最简单的方法是将您的应用程序添加到Windows任务计划程序中。

对于更复杂的要求,编写Windows服务来询问您的调度配置并在所需的时间运行进程可能是最佳选择。