我正在尝试构建一个调度程序,这是我想要实现的功能:
我不知道如何实现它,但我最初的想法是使用缓存过期回调,但我不确定它是否是一个最佳解决方案,因为我可能运行的任务对我的应用程序至关重要。我希望它健壮但我不知道从哪里开始。
任何好的图书馆/技术都可以让我实现我想要的目标吗?
答案 0 :(得分:2)
ASP.NET并不是最适合此类任务的,相反,您最好使用Windows服务来执行预定的工作。
不是重新发明轮子来构建一个调度程序,或者讨厌那些几乎无法调试和使用的恼人的Windows服务项目,我建议你看看Topshelf和漂亮的{{ {3}}项目;后者专门用于安排。
Topshelf解决了构建,调试和安装Windows服务的麻烦,这是一个很好的途径来做这类事情!
Quartz对于这里的调度组件来说并不是完全必要的,特别是因为它可能其他东西需要学习;根据您的日程安排要求的复杂程度,您当然可以随时在您的服务中设置一个计时器,但Quartz with Topshelf会为您处理很多事情!
答案 1 :(得分:1)
Hangfire是运行后台进程的绝佳工具之一。现在我已经在我的应用程序中使用它了,我非常喜欢它。
实施和维护非常简单。它可以轻松扩展,可以托管在任何.net应用程序类型中,它是一个托管的.net库。
更重要的是开源和免费使用。 (Pro版本也可用于附加功能)
它最引人注目的功能是开箱即用的监控仪表板,可以完全控制工作。