一、简介

今天讲一下 .NET Framework 程序中集成 Quartz 框架,这里使用的是 RAM 模式,Quartz 主要用于定时执行任务方面。这里贴出实现的核心代码,具体需要结合自己的业务,比如:Corn 表达式可以放在配置中心(ZK、Apollo 等)、使用 Quartz DB 模式、Quartz 集群模式、Job 开启结束时间等等。

二、版本

使用到的程序版本,Quartz不同版本之间,使用方法大同小异

框架 版本
.NET Framework 4.6.1
Quartz 3.3.2
Quartz.Jobs 3.3.2
Quartz.Plugins 3.3.2

三、集成 Quartz

3.1 Job

创建两个需要定时执行的 Job:OneJob 、TwoJob

[DisallowConcurrentExecution]
public class OneJob : IJob
{public async Task Execute(IJobExecutionContext context){// 处理定时业务逻辑}
}
[DisallowConcurrentExecution]
public class TwoJob : IJob
{public async Task Execute(IJobExecutionContext context){// 处理定时业务逻辑}
}

3.2 注册 Job

将 OneJob 、TwoJob 注册到 Quartz 中,到这里已经 Quartz 已经集成到 .NET Framework 程序中了

public class QuartzUlity
{public static IScheduler sched;public static void Open(){ISchedulerFactory schedf = new StdSchedulerFactory();sched = schedf.GetScheduler().Result;IJobDetail oneJob = JobBuilder.Create<OneJob>().Build();string oneJobCorn = "0 0/15 * * * ?";ITrigger oneJobTrigger = TriggerBuilder.Create().WithCronSchedule(oneJobCorn).Build();sched.ScheduleJob(oneJob, oneJobTrigger);IJobDetail twoJob = JobBuilder.Create<TwoJob>().Build();string twoJobCorn = "0 0/10 * * * ?";ITrigger twoJobTrigger = TriggerBuilder.Create().WithCronSchedule(twoJobCorn).Build();sched.ScheduleJob(twoJob, twoJobTrigger);sched.Start();}public static void Close(){sched.Shutdown(true);}
}

3.3 启动 Quartz

在 Global.asax 中 Application_Start 里面启动 Quartz

public class WebApiApplication : System.Web.HttpApplication
{protected void Application_Start(){// 开启 QuartzQuartzUlity.Open();}
}

.NET Framework集成Quartz相关推荐

  1. SpringBoot集成Quartz(解决@Autowired空指针Null问题即依赖注入的属性为null)

    SpringBoot集成Quartz(解决@Autowired空指针Null问题即依赖注入的属性为null) 参考文章: (1)SpringBoot集成Quartz(解决@Autowired空指针Nu ...

  2. Quartz-Spring集成Quartz通过XML配置的方式

    文章目录 概述 Maven依赖 步骤 1 创建JobDteail 2 创建Trigger 3 创建Scheduler 示例-MethodInvokingJobDetailFactoryBean 示例- ...

  3. springboot quartz 动态配置_springboot集成quartz实现动态任务调度

    quartz是一个开源的作业调度框架,本文就是介绍下springboot框架下继承quartz的一些使用示例 首先我们需要添加quartz的spring-boot-starter-quartz依赖 o ...

  4. c#quartz触发_SpringBoot集成Quartz实现定时任务

    1 需求 在我的前后端分离的实验室管理项目中,有一个功能是学生状态统计.我的设计是按天统计每种状态的比例.为了便于计算,在每天0点,系统需要将学生的状态重置,并插入一条数据作为一天的开始状态.另外,考 ...

  5. quartz获取开始结束时间_Springboot集成quartz

    Quartz 是一个完全由 Java 编写的开源作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制.本文描述在springboot 2.x环境下怎么集成quartz. 一.添加 ...

  6. Spring/Spring boot正确集成Quartz及解决@Autowired失效问题

    Spring/Spring boot正确集成Quartz及解决@Autowired失效问题 参考文章: (1)Spring/Spring boot正确集成Quartz及解决@Autowired失效问题 ...

  7. java quartz 动态执行,浅谈SpringBoot集成Quartz动态定时任务

    SpringBoot自带schedule 沿用的springboot少xml配置的优良传统,本身支持表达式等多种定时任务 注意在程序启动的时候加上@EnableScheduling @Schedule ...

  8. SpringBoot集成Quartz动态定时任务

    SpringBoot自带schedule 沿用的springboot少xml配置的优良传统,本身支持表达式等多种定时任务 注意在程序启动的时候加上@EnableScheduling @Schedule ...

  9. SpringBoot集成quartz定时调度任务并通过JDBC持久化

    SpringBoot集成quartz定时调度任务并通过JDBC持久化 话不多说上干货 项目pom依赖 配置类 抽象出调度任务实体类 调度执行和调度任务更改工具类 调度配置与执行的代码完毕,下面就是对持 ...

最新文章

  1. Linux 进程及进程之间的通信机制——管道
  2. Saltstack grains组件
  3. 腾讯AI Lab的研究方向
  4. 深度linux运行卡顿,Deepin很卡怎么办?Deepin卡顿解决方法盘点
  5. java回车后自动从一个文本框切换到另一个_Java实用教程-Java基本语法-Java程序的构成...
  6. Vue2.0 $set()处理数据更新但视图不更新的问题(给对象添加属性必须用this.$set(this.data,”key”,value’))
  7. iOS开发-常见错误和警告总结
  8. c语言暂存按键数据变量,ET6218R按键检测程序
  9. MySQL错误ERROR 1786 (HY000)解决
  10. FastDFS文件上传
  11. 标签打印机ESC光栅位图打印指令
  12. Opencv人脸识别之发送QQ邮箱
  13. Remove annoying AD window when PopKart exits
  14. 有关NodeBB从低版本1.7.x升级到最新的1.16.x版本
  15. VMWare中安装Windows XP、win7
  16. Linux 系统增加硬盘
  17. 一场关于Android的争论
  18. 计算机老师开学第一堂课,开学第一堂课作文(精选8篇)
  19. java环境变量win7_win7如何配置jdk环境变量|win7配置java环境变量的方法
  20. 用计算机可以干嘛的,计算机还可以做什么?

热门文章

  1. 【C++】string转为TCHAR
  2. android颜色(图片)和对应的值-----颜色和值直观显示
  3. python群发邮箱软件下载_利用STMP邮件传输协议,实现python群发邮箱脚本!
  4. 磨金石教育摄影技能干货分享|高级的摄影师,不会因天气而受限
  5. K8S部署分布式文件存储minio两种部署方式
  6. Android必须知道的Java内存结构及堆栈区别
  7. 水资源税取水计量监管系统 取用水户水量在线监测平台 水资源远程实时监控管理系统
  8. 设置本地redis密码
  9. Recordset属性与方法
  10. nova中periodic task的实现