当前位置:网站首页>.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
边栏推荐
猜你喜欢
随机推荐
解析psd文件,并映射成组件
js面试题:fn.call.call.call.call(fn2) 解析
C language advanced notes 3
Incremental update of client software
小米摄像头异常解决
查漏补缺(六)
Assembly base code example
Shell脚本 &&和||的使用
WebSocket(基础)
.Net Core 下使用 Quartz —— 【7】作业和触发器之简单触发器
查漏补缺(八)
Detailed explanation and application principle of token
出入库与库存系统的模型问题
js获取链接?后边的参数名称或者值,根据url ?后的参数做判断
【批量更改mysql表以及表中字段对应的编码】
Assembler 32-bit unsigned addition calculator
Understanding of SSH public key and private key
PN结、二极管原理详解与应用
Node数据流
【ORACLE与mysql的区别】









