我正在尝试找到一种非常简单的方法来为我的Web应用程序启动一个简单的cron作业。我在想的是在Application_Start事件中启动一个Task。这个任务将有一个while循环,并且像普通的cron作业那样每小时左右做一些动作。
这是一个好主意还是会给你带来一些麻烦?
我能想到的一些问题如下:
任务突然停止工作或挂起。也许做一些故障转移 检查任务是否仍在运行的机制,如果没有 重启它。
如果任务完全出错,我必须重新启动内存泄漏 整个申请。
有人对此有任何建议或经验吗?
答案 0 :(得分:4)
在Web应用程序中执行cron作业是个坏主意。 IIS可以随时回收应用程序,您的工作将停止。我建议你在单独的Windows服务中执行此操作。你可以看看Quartz.NET。另一种可能性是控制台应用程序,它可以完成工作并在Windows Scheduler中进行调度。
答案 1 :(得分:4)
虽然Darin说在网络应用程序中做cron工作是一个坏主意(我在某种程度上同意他的意见),但在明智地使用和短期工作时可能并不是那么糟糕。
在Web应用程序中使用相同的Quartz.NET可能相当不错,我正在我的一个项目中使用
http://bugsquash.blogspot.com/2010/06/embeddable-quartznet-web-consoles.html用于小型作业并且运行良好 - 它易于监控(比监控远程Windows进程更容易),可用于共享主机。