Hangfire入门(任务调度)

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

一、简介

    英文官网:http://hangfire.io/

    开源地址:https://github.com/HangfireIO

    Hangfire 不依赖于具体的.NET应用类型,包含.NET 和.NET Core。

    Hangfire 是一款强大的.NET开源后台任务利器,无需Windows服务/任务计划程序。

    可以使用于ASP.NET 应用也可以使用于控制台。Hangfire 只需简单几句代码即可创建新的不同种类的任务。

二、使用条件

    1. .NET Framework 4.5

    2. 持久存储(SQL Azure, SQL Server 2008 R2及以上版本,Redis 

    3. Newtonsoft.Json 版本 ≥ 5.0.1

三、安装使用

   1. 创建一个控制台项目,使用NuGet 命令行安装,选择对应的项目

   2. PM> Install-Package Hangfire ,安装会有一段时间,耐心等待

   3. 安装好后就可以在Main方法中使用了

   

class Program
    {
        static void Main(string[] args)
        {
            GlobalConfiguration.Configuration
               .UseColouredConsoleLogProvider()
               .UseSqlServerStorage("Server=.;User ID=sa;Password=123456;database=xxxx;Connection Reset=False;");

            //支持基于队列的任务处理:任务执行不是同步的,而是放到一个持久化队列中,以便马上把请求控制权返回给调用者。
          //   BackgroundJob.Enqueue(() => Console.WriteLine("Simple!"));
            //延迟任务执行:不是马上调用方法,而是设定一个未来时间点再来执行。            
           //  BackgroundJob.Schedule(() => Console.WriteLine("Reliable!"), TimeSpan.FromSeconds(5));
            //循环任务执行:一行代码添加重复执行的任务,其内置了常见的时间循环模式,也可基于CRON表达式来设定复杂的模式。
           // RecurringJob.AddOrUpdate(() => Console.WriteLine("Transparent!"), Cron.Minutely);//注意最小单位是分钟
             
            using (var server = new BackgroundJobServer())
            {
                BackgroundJob.Enqueue(() => Console.WriteLine("Simple111"));

                Console.WriteLine("Hangfire Server started. Press any key to exit...");
                Console.ReadKey();

            }
        }
    }

 

    

参考文章:

http://www.cnblogs.com/redmoon/p/4394962.html

http://www.cnblogs.com/huangchenqin/p/5210448.html

 http://codeopinion.com/background-tasks/

相关文章
|
3月前
|
调度
自己动手实现分布式任务调度框架(续)(2)
自己动手实现分布式任务调度框架(续)
|
3月前
|
消息中间件 负载均衡 Java
自己动手实现分布式任务调度框架(续)(1)
自己动手实现分布式任务调度框架(续)
|
4月前
|
Prometheus 监控 数据可视化
面试分享:Airflow工作流调度系统架构与使用指南
【4月更文挑战第10天】Apache Airflow是关键的工作流调度系统,本文结合面试经验,深入探讨其核心架构和使用技巧。重点包括:1) Airflow的Scheduler、Web Server、Worker和Metadata Database组件;2) DAG、Task和Operator的概念;3) DAG编写、调度及错误处理策略;4) 监控与扩展性,如自定义Operator和最佳实践。通过学习,助你在面试中应对Airflow相关问题,并提升实际工作中的数据工程能力。
236 5
|
前端开发 Java 调度
SpringCloud微服务实战——搭建企业级开发框架(四十二):集成分布式任务调度平台XXL-JOB,实现定时任务功能
定时任务几乎是每个业务系统必不可少的功能,计算到期时间、过期时间等,定时触发某项任务操作。在使用单体应用时,基本使用Spring提供的注解即可实现定时任务,而在使用微服务集群时,这种方式就要考虑添加分布式锁来防止多个微服务同时运行定时任务而导致同一个任务重复执行。
933 55
SpringCloud微服务实战——搭建企业级开发框架(四十二):集成分布式任务调度平台XXL-JOB,实现定时任务功能
|
存储 开发框架 Java
分布式定时任务框架Quartz总结和实践(1)
Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的程序。Jobs可以做成标准的Java组件或 EJBs。
158 0
|
存储 Oracle Java
如何使用Quartz框架来实现任务调度?
如何使用Quartz框架来实现任务调度?
92 0
|
存储 Java 数据库连接
任务调度 Quartzh 框架使用指南
任务调度 Quartzh 框架使用指南
726 0
任务调度 Quartzh 框架使用指南
|
存储 分布式计算 资源调度
任务调度|学习笔记
快速学习任务调度
178 0
任务调度|学习笔记
|
SQL 负载均衡 NoSQL
全栈开发之Quartz分布式定时任务调度集群
全栈开发之Quartz分布式定时任务调度集群
443 0
全栈开发之Quartz分布式定时任务调度集群
|
消息中间件 资源调度 分布式计算
实现一个任务调度系统,看这篇就够了
干货,教你如何实现一个任务调度系统
1527 2
实现一个任务调度系统,看这篇就够了