Quartz基础使用
Quartz基本组成部分:
- 调度器:Scheduler
- 任务:JobDetail
- 触发器:Trigger,包括SimpleTrigger和CronTrigger
.
- using Quartz;
- using Quartz.Impl;
- using System;
- using System.Threading.Tasks;
- namespace QuartzDemo1
- {
- /// <summary>
- /// 我的任务
- /// </summary>
- class MyJob : IJob
- {
- public Task Execute(IJobExecutionContext context)
- {
- JobDataMap jobdata = context.JobDetail.JobDataMap;
- JobDataMap triggerdata= context.Trigger.JobDataMap;
- Console.WriteLine($"JobKey:{jobdata["JobKey"]},TriggerKey:{triggerdata["TriggerKey"]},{DateTime.Now.ToString()}");
- return Task.CompletedTask;
- }
- }
- class Program
- {
- static async Task Main(string[] args)
- {
- IScheduler scheduler;/*****************this's Scheduler********************/
- {
- //调度器工厂
- StdSchedulerFactory factory = new StdSchedulerFactory();
- scheduler = await factory.GetScheduler(); //调度器
- }
- IJobDetail job; /*****************this's Ijob********************/
- {
- //创建一个工作任务 ,myjob1是名称,mygroup1是组名。
- job = JobBuilder.Create<MyJob>().WithIdentity("myjob1", "mygroup1")
- .UsingJobData("JobKey", "JobValue") //传数据
- .Build();
- //..... 可以创建多个Job然后通过 group进行分组
- //例如: 有7个接口 A/B/C/O/X/Y/Z
- //ABC分别接收ABC类型订单(已确定执行时间一致) 每天06:00执行
- //XYZ分别发送XYZ订单(已确定执行时间一致) 每天12:00/22:00点
- //O接口定时清理数据 每天23:00执行
- //则可以把 ABC分为 ABCGroup XYZ分为XYZGroup O单独分为Ogroup;
- }
- ITrigger trigger; /*****************this's Itrigger********************/
- {
- //触发器
- trigger = TriggerBuilder.Create()
- .WithIdentity("mytrigger1", "mygroup1") //定时器与JobGroup对应
- //.WithCronSchedule("0/5 * * * * ?") //5秒执行一次 //同下 (定时)
- .WithSimpleSchedule(x => x.WithIntervalInSeconds(5).RepeatForever()) //同上(定时)
- .UsingJobData("TriggerKey", "TriggerValue") //传数据
- .Build();
- }
- //将任务与触发器添加到调度器中
- _ = scheduler.ScheduleJob(job, trigger);
- _ = scheduler.Start();
- Console.Read();
- }
- }
- }
Quartz基础使用的更多相关文章
- Quartz基础调度框架-第二篇服务
很多应用场景Quartz运行于Windows服务 Conf 在这个基本结构里 是用来存放配置 和上一篇 控制台运行的一样的结构 jobs.xml 的配置清单 <!-- 任务配置--> & ...
- Quartz基础调度框架-第一篇控制台
Quartz基础调度框架 Quartz核心的概念:scheduler任务调度.Job任务.Trigger触发器.JobDetail任务细节 结构 Conf 在这个基本结构里 是用来存放配置 publi ...
- Quartz基础+实例
1. 介绍 Quartz体系结构: 明白Quartz怎么用,首先要了解Scheduler(调度器).Job(任务)和Trigger(触发器)这3个核心的概念. 1. Job: 是一个接口,只定义一个方 ...
- Quartz基础知识了解(一)
一.QuartZ是什么? 二.获取 三.核心接口 Scheduler - 与调度程序交互的主要API. Job - 由希望由调度程序执行的组件实现的接口. JobDetail - 用于定义作业的实例. ...
- SpringBoot之Quartz基础
前言:由于我们本项目选用的Springboot来整合Quartz,官方给我们提供了启动器所以很简单.在以前的版本我们想要使用Quartz需要引入的依赖如下: <dependency> &l ...
- Quartz.Net 调度框架配置介绍
在平时的工作中,估计大多数都做过轮询调度的任务,比如定时轮询数据库同步,定时邮件通知等等.大家通过windows计划任务,windows服务等都实现过此类任务,甚至实现过自己的配置定制化的框架.那今天 ...
- 10 -- 深入使用Spring -- 5...2 在Spring中使用Quartz
10.5.2 在Spring中使用Quartz Spring 的任务调度抽象层简化了任务调度,在Quartz基础上提供了更好的调度抽象.本系统使用Quartz框架来完成任务调度,创建Quartz的作业 ...
- Quartz使用及注意事项
Quartz使用及注意事项 前提:目前由于公司业务决定,大量使用Quartz,每天固定的时间点执行相应的业务逻辑,,几十个时间点应该是有的,某一个时间点如果没有执行带来的问题是巨大的.Quartz的稳 ...
- Quartz-第一篇 认识Quartz
1.什么是Quartz Quartz是一个任务调度框架,借助Cron表达式,Quartz可以支持各种复杂的任务调度.JDK中也提供了简单的任务调度,java.util.Timer. Quartz的三大 ...
随机推荐
- C# opc 功能相关
C# 程序里,使用 Interop.OPCAutomation.dll ,用于和opc通讯,读opc变量,写opc变量 链接: https://pan.baidu.com/s/1OpUa_Jct1gf ...
- Apple CSS Animation All In One
Apple CSS Animation All In One Apple Watch CSS Animation https://codepen.io/xgqfrms/pen/LYZaNMb See ...
- angular-2-tutorial-2017
# angular-2-tutorial-2017https://www.sitepoint.com/understanding-component-architecture-angular/http ...
- PHP & LAMP & WAMP
PHP & LAMP & WAMP https://github.com/xgqfrms/DataStructure/issues/7#issuecomment-430538438 h ...
- yarn global add !== yarn add global
yarn global add !== yarn add global yarn does not exist the --global flag, but exits yarn global com ...
- js Array All In One
js Array All In One array 方法,改变原数组(长度),不改变原数组(长度) https://developer.mozilla.org/en-US/docs/Web/JavaS ...
- Serverless & Cloudflare Workers
Serverless & Cloudflare Workers https://dash.cloudflare.com/6f3d5e68ab80892a372313b7c9b02a85/wor ...
- js 截取固定长度字符串但不打断单词
适用地方:英文网站中,比如面包屑导航处新闻标题过长.用css截取文本简介时将单词打断 // 使用方法 // 1.复制下面函数 // 2.调用 // 3.填参数 sliceString(targe ...
- Baccarat流动性挖矿的收益能否持续?该如何参与Baccarat流动性挖矿?
2020年DeFi市场火热,众多投资机构纷纷入场,分享这场资本盛宴.然而,目前市面上大多数DeFi项目手续费高昂,小资金的投资者无法入市.为了让更多的用户参与其中,NGK推出了Baccarat流动性挖 ...
- C++算法代码——奖学金
题目来自:http://218.5.5.242:9018/JudgeOnline/problem.php?id=1098 题目描述 某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学 ...