我正在寻找有关处理ASP.NET MVC 3应用程序中相当大量(100到300)计划任务的最有效和最强大方法的建议。
用户基本上可以创建一个帐户,并可以创建多个任务,这些任务将在指定时间每周或每天运行一次。目前的任务正在做什么是无关紧要的,但我们只是为了论证而说它是一个预定的推文系统。
这些任务中的每一项都将存储在数据库中,但可能会有数十个或数百个同时全天同时开火。
过去我曾在服务器上使用“任务计划程序”以一致且强大的方式触发任务,当我说5到10个任务正在运行时,但现在它将进入100我正在寻找关于如何处理这种系统的一些可靠的建议,只使用ASP.NET MVC 3,因为我不能再依赖于任务调度程序了。 任何意见和建议都非常感谢。
答案 0 :(得分:3)
我认为最好是创建一个可以处理这个问题的Windows服务。通过这种方式,它独立于Web应用程序(毕竟主要是用户界面)。
如果您在共享主机上(因此您无权访问设置窗口服务),那么所有调度程序都相关(使用像quartz.net或自定义解决方案这样的库)我认为最好将其包装在一个单例实例,可能存储在静态变量中。