我有一组项目需要每天在特定时间运行一次。我打算将每个项目作为web服务运行,并使用Timer或Task.Delay来安排工作,但是计时器/任务是否适合用于长时间空闲的调度工作?
这是我的调度程序配置,以及如何创建计时器。所有配置都存储在DB中。
r.v_amount
答案 0 :(得分:4)
通常使用这样的计时器并不是很好,而且在IIS中它更糟糕 - IIS将专门杀死空闲进程(除非你不配置它或ping它以使其保持活动状态)。
在任何情况下,你真的在23:59:00运行并且不必要地占用了你的程序实际上没有做任何事情的资源,并且让它暴露在它被杀的可能性之中或者其他任何东西。
在指定时间有更好的运行方式。最简单的方法是将您的应用程序添加到Windows任务计划程序中。
对于更复杂的要求,编写Windows服务来询问您的调度配置并在所需的时间运行进程可能是最佳选择。