.Net Core 定时器Quartz
2024-09-01 13:18:27
最近因为项目需要用到了Quartz,下面简单记录一下。
一、首先需要安装Quartz。
二、定义一个执行的Job类,实现IJob接口,接口有一个方法Execute,用来执行定时任务的实现内容。
public class HelloJob : IJob
{
public async Task Execute(IJobExecutionContext context)
{
Console.WriteLine("作业执行!");
}
}
三、定时触发,根据设定的时间间隔触发。
//从工厂中获取一个调度器实例化
IScheduler scheduler = await StdSchedulerFactory.GetDefaultScheduler(); await scheduler.Start(); //开启调度器 //==========例子1(简单使用)=========== IJobDetail job1 = JobBuilder.Create<HelloJob>() //创建一个作业
.WithIdentity("job", "group1")
.Build(); ITrigger trigger1 = TriggerBuilder.Create()
.WithIdentity("trigger", "group1")
.StartNow() //现在开始
.WithSimpleSchedule(x => x //触发时间,5秒一次。
.WithIntervalInSeconds(5)
.RepeatForever()) //不间断重复执行
.Build(); await scheduler.ScheduleJob(job1, trigger1); //把作业,触发器加入调度器。
四、仅触发一次,定时器在设定时间内,只触发一次。
IScheduler scheduler = await StdSchedulerFactory.GetDefaultScheduler(); IJobDetail job = JobBuilder.Create<HelloJob>() //创建一个作业
.WithIdentity("job3", "group3")
.Build(); ITrigger trigger = trigger = (ISimpleTrigger)TriggerBuilder.Create()
.WithIdentity("trigger3", "group3")
.StartAt(DateBuilder.FutureDate(1, IntervalUnit.Second)) //使用DateBuilder将来创建一个时间日期
.ForJob(job) //通过JobKey识别作业
.Build(); await scheduler.ScheduleJob(job,trigger);
await scheduler.Start();
最新文章
- 错误-spring3.2的架构在tomcat6.0中无法正常启动,抛出java.lang.NoClassDefFoundError: javax/servlet/AsyncListener
- git入门网站
- get,post 区别,HTTP通信
- javascript基础知识复习一
- [转]zetex.lib
- 百度地图简单使用——添加折线,圆形等(html,js)
- HDU 1721
- PL/pgSQL学习笔记之十一
- mysql插入数据时,中文乱码
- IOS--当字符串返回的数据格式为xml/html时
- Oracle数据库的安装详解
- POJ2771_Guardian of Decency(二分图/最大独立集=N-最大匹配)
- 快捷配置Hibernate实现对数据库的配置(构建通道)
- lsdslam代码笔记
- 剑指offer--二叉树的后序遍历
- 搭建java环境——使用Sublime Text 3(windows环境)
- JavaScript 字典(Dictionary)
- [LeetCode] Bold Words in String 字符串中的加粗单词
- Java安全套接字扩展——JSSE
- hadoop分布式安装部署详细视频教程(网盘附配好环境的CentOS虚拟机文件/hadoop配置文件)