Hangfire是一个支持.NET和.NET Core应用程序的跨平台的后台作业处理框架,使用Hangfire时不再需要Windows服务或者单独的进程。Hangfire可以在ASP.NET/ASP.NET Core等应用程序中以简单的方式实现触发,延迟以及定时执行等任务。同时还支持CPU和I/O密集型、长时间运行和短时间运行的作业而不需要设置Windows服务或者其他的任务调度。Hangfire支持多种数据存储方式,如:Redis, SQL Server, SQL Azure和MSMQ等。
官方地址: https://www.hangfire.io
特性
安装简单,快速入门:没有Windows服务,没有Windows调度程序,不需要单独的应用程序
可持久化:后台作业是在存储中持久存储介质中的,如:SQL Server、Redis、PostgreSQL、MongoDB等
作业数据透明:内置的web界面允许您查看后台作业的整体情况,以及观察每个后台作业的状态
可靠:后台作业一旦无异常地被创建,Hangfire负责至少处理一次这个作业
分布式:后台方法调用及其参数是序列化的,因此可以克服进程边界问题
可扩展:作业过滤器允许您以类似于ASP.NET MVC操作过滤器的方式向后台处理添加自定义功能
高效:尽管默认安装使用SQL Server和轮询来获取作业,但可以利用MSMQ或Redis扩展来将处理延迟降低到最低
自维护:你不需要手动维护和清理存储空间,Hangfire会尽可能地自动清理旧的数据
开源免费:Hangfire是开源的框架并且对商用免费,只需遵循LGPLv3许可即可
结束语本文旨在为大家收集整理.NET/.NET Core中常用的定时任务框架和组件,希望对你有帮助。
如果你还有其他的或者更好的框架/组件,欢迎留言反馈。
码友网:一个专注.NET/.NET Core开发的编程爱好者社区