运行计划任务的最佳方式
今天,我们已经构建了一个控制台应用程序,用于运行ASP.NET网站的计划任务。 但我认为这种方法有点容易出错,难以维护。 你如何执行你的计划任务(在Windows / IIS / ASP.NET环境中)
更新:
任务示例:
我所有的网站任务(需要安排)都保存在网站中,并从特殊页面中调用。 然后我写了一个简单的Windows服务,每隔一段时间就会调用一次这个页面 一旦页面运行,它会返回一个值。 如果我知道还有更多工作需要完成,我马上再次运行该页面,否则我会在一段时间内运行它。 这对我来说非常合适,并且使用Web代码保留了我所有的任务逻辑。 在编写简单的Windows服务之前,我使用Windows调度程序每x分钟调用一次该页面。
另一种方便的方法是使用Pingdom等监控服务。 将他们的http检查指向运行你的服务代码的页面。 让页面返回结果,然后可以用它来触发Pingdom在某些事情不正确时发送警报消息。
Jeff Atwood的Stackoverflow技术是我遇到的最简单的方法。 它依靠“缓存项删除”回调机制构建到ASP.NET的缓存系统中
更新:Stackoverflow超出了这种方法。 它只在网站运行时才起作用,但对于许多人来说这是一种非常简单的技术。
也检查出Quartz.NET
创建一个自定义的Windows服务。
我将一些任务关键任务设置为预定的控制台应用程序,并发现它们很难维护。 我创建了一个带有'心跳'的Windows服务,每隔几分钟就会检查我的数据库中的时间表。 它制定得非常好。
话虽如此,我仍然使用预定的控制台应用程序来处理大多数非关键性维护任务。 如果没有损坏,请不要修复它。
链接地址: http://www.djcxy.com/p/6627.html