Hangfire是一个开源且商业免费使用的工具函数库。可以让你非常容易地在ASP.NET应用(也可以不在ASP.NET应用)中执行多种类型的后台任务,而无需自行定制开发和管理基于Windows Service后台任务执行器。且任务信息可以被持久保存。内置提供集成化的控制台。

Hangfire的具有如下特性和有点:

  • 支持基于队列的任务处理:任务执行不是同步的,而是放到一个持久化队列中,以便马上把请求控制权返回给调用者。使用方法:BackgroundJob.Enqueue(() => Console.WriteLine("Simple!"));
  • 延迟任务执行:不是马上调用方法,而是设定一个未来时间点再来执行。使用方法:BackgroundJob.Schedule(() => Console.WriteLine("Reliable!"), TimeSpan.FromDays(7));
  • 循环任务执行:只需要简单的一行代码就可以添加重复执行的任务,其内置了常见的时间循环模式,也可以基于CRON表达式来设定复杂的模式。使用方法:RecurringJob.AddOrUpdate(() => Console.WriteLine("Transparent!"), Cron.Daily);
  • 持久化保存任务、队列、统计信息:默认使用SQL Server,也可以配合消息队列来降低队列处理延迟,或配置使用Redis来获得更好的性能表现
  • 内置自动重试机制:可以设定重试次数,还可以手动在控制台重启任务
  • 除了调用静态方法外还支持实例方法
  • 能够捕获多语言状态:即可以把调用者的Thread.CurrentCulture和Thread.CurrentUICulture信息同任务持久保存在一起,以便任务执行的时候多语言信息是一致的
  • 支持任务取消:使用CancellationToken这样的机制来处理任务取消逻辑
  • 支持IoC容器:目前支持Ninject和Autofac比较常用的开源IoC容器
  • 支持Web集群:可以在一台或多台机器上运行多个Hangfire实例以便实现冗余备份
  • 支持多队列:同一个Hangfire实例可以支持多个队列,以便更好的控制任务的执行方式
  • 并发级别的控制:默认是处理器数量的5倍工作行程,当然也可以自己设定
  • 具备很好的扩展性:有很多扩展点来控制持久存储方式、IoC容器支持等

null

Hangfire 任务调度相关推荐

  1. hangfire oracle,.net core 之Hangfire任务调度

    Hangfire可用作任务调度,类似延迟任务.队列任务.批量任务和定时任务等. 一.nuget Hangfire包 找到Hangfire.AspNetCore和Hangfire.SqlServer包, ...

  2. linux任务调度框架,任务调度框架Hangfire 简介

    任务调度是我们项目中常见的功能,虽然任务调度的功能实现本身并不难,但一个好用的轮子还是可以给我们的开发的效率提升不少的. 在.net环境中,较为有名的任务调度框架是HangFire与Quartz.NE ...

  3. .NET之Hangfire快速入门和使用 (定时任务调度的一种解决方案)

    注意: 1. 当Hangfire服务由Web程序来启用时,默认情况下,web应用程序中的Hangfire服务器实例在第一个用户访问您的站点之前不会启动.甚至,有一些事件会在一段时间后导致web应用程序 ...

  4. Hangfire入门(任务调度)

    一.简介 英文官网:http://hangfire.io/ 开源地址:https://github.com/HangfireIO Hangfire 不依赖于具体的.NET应用类型,包含.NET 和.N ...

  5. 基于 abp vNext 和 .NET Core 开发博客项目 - 集成Hangfire实现定时任务处理

    基于 abp vNext 和 .NET Core 开发博客项目 - 集成Hangfire实现定时任务处理 转载于:https://github.com/Meowv/Blog 接下来,将完成一个任务调度 ...

  6. Abp vNext 后台作业hangfire

    概述 ABP vNext 提供了后台工作者和后台作业的支持,基本实现与原来的 ABP 框架类似,并且 ABP vNext 还提供了对 HangFire 和 RabbitMQ 的后台作业集成.开发人员在 ...

  7. Hangfire项目实践分享

    项目中使用Hangfire已经快一年了,期间经历过很多次的试错及升级优化,才达到现在的稳定效果.趁最近不是太忙,自己在github上做了个案列,也是拿来跟大家分享下,案例是从项目里剥离出来的,有兴趣的 ...

  8. .net 任务调度 mysql_C#/.NET/.NET Core应用程序编程中实现定时任务调度的方法或者组件...

    C#/.NET/.NET Core的定时任务调度组件:Timer.FluentScheduler.TaskScheduler.Gofer.NET.Coravel.Quartz.NET.Hangfire ...

  9. hangfire mysql_.NET之Hangfire快速入门和使用

    文章正文: 前言: 定时任务调度问题,是一个老生常谈的问题.网上有许多定时任务调度的解决方案,对于我而言很早以前主要是使用Window计划和Window服务来做任务定时执行,然后就开始使用定时任务调度 ...

最新文章

  1. 报错解决:Liquid Warning: Liquid syntax error (line 2): Expected dotdot but found id in {{(site.github.p
  2. python运行错误-Python在运行中发生错误怎么正确处理方法,案例详解!
  3. Acwing第 29 场周赛【完结】
  4. 财务凭证过账增强 BAPI_ACC_DOCUMENT_POST
  5. Use tcode ST01 to log authorization check
  6. jumbo 安装mysql,关于建立社工库的经验总结
  7. 写个批处理脚本来帮忙干活--遍历文件夹字符串处理
  8. 2018全国计算机二级c语言题库,全国计算机二级c语言题库试题及答案
  9. 李子奈《计量经济学》第四版笔记和课后答案
  10. Windows Server 2012和2016从Evaluation评估版升级到正式版方法(附带产品密钥/key)
  11. 取消参考文献自动编号_参考文献的自动编号及引用
  12. python no such file or directory_python No such file or Directory
  13. 编写一个计算图形面积和周长的程序
  14. 2022“杭电杯”中国大学生算法设计超级联赛(7) 2022杭电多校第七场
  15. 2020最新版前端学习路线图--Javascript网页编程重点知识
  16. Android动态破解微信本地数据库(EnMicroMsg.db)
  17. 13. 罗马数字转整数
  18. 响应式Web设计:HTML5和CSS3实战(读书笔记)
  19. 最新!中国内地大学ESI排名出炉:362所高校上榜!
  20. 织梦窗帘布窗门类中英文网站源码自适应手机版

热门文章

  1. Redis五种数据结构
  2. [数据结构] - 串
  3. python入门_老男孩_集合_元祖
  4. 记一次vue+vuex+vue-router+axios+elementUI开发(二)
  5. OpenGL 笔记1 固定管线实例 + 双缓存测试实例
  6. 每一个程序员都应该知道的高并发处理技巧、创业公司如何解决高并发问题、互联网高并发问题解决思路、caoz大神多年经验总结分享...
  7. 对于白神贪心问题的感悟
  8. 关于控件的AutoSize属性影响界面布局的问题解决
  9. Linux 5.4 LVM RAW 设备 配置的深入研究
  10. XML中预定义好的实体