当前位置:网站首页>.Net Core 下使用 Quartz —— 【2】作业和触发器之初步了解作业
.Net Core 下使用 Quartz —— 【2】作业和触发器之初步了解作业
2022-04-23 05:55:00 【番茄大侠本尊】
目录
在上一篇中,我们实现了一个简单的作业调度,接下来我们将初步了解一下Quartz中的作业(Job)
1、关键接口和类
IScheduler
-与调度程序进行交互的主要API。IJob
-由您希望调度程序执行的组件实现的接口。IJobDetail
-用于定义Jobs的实例。ITrigger
-定义将执行给定作业的时间表的组件,该作业可以具有多个关联的触发器JobBuilder
-用于定义/构建JobDetail实例,该实例定义Jobs的实例。TriggerBuilder
-用于定义/构建触发器实例。SchedulerBuilder
-用于定义/构建调度程序实例,需要Quartz 3.1或更高版本。
以上部分直接摘抄自官网,在了解作业之前,我们先眼熟上面的几个接口和类,这对接下来的学习非常有帮助
2、什么是Quartz中的作业
作业是实现IJob
接口的类,该接口只有一个简单的方法:
namespace Quartz
{
public interface IJob
{
Task Execute(JobExecutionContext context);
}
}
回顾上篇文章中我们自定义的HelloJob,我们实现了IJob接口,并且实现了唯一的Execute方法,仅此而已。
public class HelloJob : IJob
{
public async Task Execute(IJobExecutionContext context)
{
await Console.Out.WriteLineAsync($"{DateTime.Now}");
}
}
3、作业执行上下文
Execure方法中,传达了一个参数,IJobExecutionContext context
JobExecutionContext 中包含
“运行时”环境的信息-执行作业的调度程序的句柄,触发执行的触发器的句柄,作业的JobDetail对象,以及一些其他项目。
4、作业唯一标识
回顾上节中创建作业时的代码
IJobDetail job = JobBuilder.Create<HelloJob>()
.WithIdentity("job1", "jobGroup1")
.Build();
这里我们给作业起名 job1,并且分配给jobGroup1 组,那么该作业的唯一标识就是用点号隔开的 "jobGroup1.job1"
触发器同理
版权声明
本文为[番茄大侠本尊]所创,转载请带上原文链接,感谢
https://blog.csdn.net/Tomato2313/article/details/108991734
边栏推荐
猜你喜欢
随机推荐
Multibyte and Unicode in VS
el-form表单多重循环校验
Oracle改成mysql
赛氪-二进制
元编程,代理Proxy与反射Reflect
HDU-Memory Control
微信小程序之 js 时间戳/1000 转换 秒,六个小时后,一天后,本周五 选项计算时间
var、let、const之间的区别
CUDA environment installation
Introduction and application of WMI Technology
信息学一本通-小球
出入库与库存系统的模型问题
颜色字符串转换
Assembler 32-bit unsigned addition calculator
几款笔记软件的优缺点
Palindromic Primes
todesk远程控制软件的使用
三极管原理及特性分析
Redux概述
查漏补缺(一)