.net开源定时任务Hangfire
Hangfire是一个开源的.NET任务调度框架,提供了内置集成化的控制台,可以直观明了的查看作业调度情况,并且Hangfire不需要依赖于单独的应用程序执行(如:windows服务,window计划)。它支持持久性存储,每个存储后端使用可靠的获取算法,可以在Web应用程序内部开始处理,而不会在应用程序重新启动、进程终止等时丢失后台作业的风险。Hangfire可以创建任何类型的后台作业:即时任务(立即执行),延迟任务(在一段时间后执行调用),定时任务(每小时、每天执行方法等)。后台作业基于常规的静态或实例方法调用,它被实现为一组专用的(不是线程池的)后台线程,它们从存储中获取作业并处理它们。
项目介绍
Hangfire 是一个非常简单易用的库,可以在 .NET 应用程序中执行后台的、延迟的和定期的任务。它支持 CPU 密集型、I/O 密集型、长时间运行和短时间运行的任务。无需使用 Windows 服务或任务计划程序。同时,Hangfire 可以与 Redis、SQL Server、SQL Azure 和 MSMQ 集成。
项目特点
1.简单易用:Hangfire 提供了一个简单而有效的编程模型,使得开发人员可以轻松地执行各种后台任务。
2.可靠性强:Hangfire 使用多种机制来确保任务的可靠性,如事务、重试和故障转移等。
3.高性能:Hangfire 使用多种技术来提高任务的执行效率,如批量执行、多线程处理、内存缓存等。
4.扩展性好:Hangfire 支持多种扩展机制,如插件、中间件、过滤器等,使得开发人员可以根据业务需要自由定制任务处理逻辑。
持久化存储:Hangfire 提供了多种持久化存储方案,如 Redis、SQL Server、SQL Azure、PostgreSQL、MongoDB 等,可以根据具体情况选择最适合的存储方式。
5.任务监控:Hangfire 提供了多种监控工具,可以实时查看任务的执行情况、错误信息、性能指标等。
6.多种任务类型支持:Hangfire 支持多种常见的任务类型,如延迟任务、定时任务、周期任务、连续任务等。
源码地址