.NET Framework集成Quartz
一、简介
今天讲一下 .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相关推荐
- SpringBoot集成Quartz(解决@Autowired空指针Null问题即依赖注入的属性为null)
SpringBoot集成Quartz(解决@Autowired空指针Null问题即依赖注入的属性为null) 参考文章: (1)SpringBoot集成Quartz(解决@Autowired空指针Nu ...
- Quartz-Spring集成Quartz通过XML配置的方式
文章目录 概述 Maven依赖 步骤 1 创建JobDteail 2 创建Trigger 3 创建Scheduler 示例-MethodInvokingJobDetailFactoryBean 示例- ...
- springboot quartz 动态配置_springboot集成quartz实现动态任务调度
quartz是一个开源的作业调度框架,本文就是介绍下springboot框架下继承quartz的一些使用示例 首先我们需要添加quartz的spring-boot-starter-quartz依赖 o ...
- c#quartz触发_SpringBoot集成Quartz实现定时任务
1 需求 在我的前后端分离的实验室管理项目中,有一个功能是学生状态统计.我的设计是按天统计每种状态的比例.为了便于计算,在每天0点,系统需要将学生的状态重置,并插入一条数据作为一天的开始状态.另外,考 ...
- quartz获取开始结束时间_Springboot集成quartz
Quartz 是一个完全由 Java 编写的开源作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制.本文描述在springboot 2.x环境下怎么集成quartz. 一.添加 ...
- Spring/Spring boot正确集成Quartz及解决@Autowired失效问题
Spring/Spring boot正确集成Quartz及解决@Autowired失效问题 参考文章: (1)Spring/Spring boot正确集成Quartz及解决@Autowired失效问题 ...
- java quartz 动态执行,浅谈SpringBoot集成Quartz动态定时任务
SpringBoot自带schedule 沿用的springboot少xml配置的优良传统,本身支持表达式等多种定时任务 注意在程序启动的时候加上@EnableScheduling @Schedule ...
- SpringBoot集成Quartz动态定时任务
SpringBoot自带schedule 沿用的springboot少xml配置的优良传统,本身支持表达式等多种定时任务 注意在程序启动的时候加上@EnableScheduling @Schedule ...
- SpringBoot集成quartz定时调度任务并通过JDBC持久化
SpringBoot集成quartz定时调度任务并通过JDBC持久化 话不多说上干货 项目pom依赖 配置类 抽象出调度任务实体类 调度执行和调度任务更改工具类 调度配置与执行的代码完毕,下面就是对持 ...
最新文章
- Linux 进程及进程之间的通信机制——管道
- Saltstack grains组件
- 腾讯AI Lab的研究方向
- 深度linux运行卡顿,Deepin很卡怎么办?Deepin卡顿解决方法盘点
- java回车后自动从一个文本框切换到另一个_Java实用教程-Java基本语法-Java程序的构成...
- Vue2.0 $set()处理数据更新但视图不更新的问题(给对象添加属性必须用this.$set(this.data,”key”,value’))
- iOS开发-常见错误和警告总结
- c语言暂存按键数据变量,ET6218R按键检测程序
- MySQL错误ERROR 1786 (HY000)解决
- FastDFS文件上传
- 标签打印机ESC光栅位图打印指令
- Opencv人脸识别之发送QQ邮箱
- Remove annoying AD window when PopKart exits
- 有关NodeBB从低版本1.7.x升级到最新的1.16.x版本
- VMWare中安装Windows XP、win7
- Linux 系统增加硬盘
- 一场关于Android的争论
- 计算机老师开学第一堂课,开学第一堂课作文(精选8篇)
- java环境变量win7_win7如何配置jdk环境变量|win7配置java环境变量的方法
- 用计算机可以干嘛的,计算机还可以做什么?