Quartz基本组成部分:

  • 调度器:Scheduler
  • 任务:JobDetail
  • 触发器:Trigger,包括SimpleTrigger和CronTrigger

.

  1. using Quartz;
  2. using Quartz.Impl;
  3. using System;
  4. using System.Threading.Tasks;
  5.  
  6. namespace QuartzDemo1
  7. {
  8. /// <summary>
  9. /// 我的任务
  10. /// </summary>
  11. class MyJob : IJob
  12. {
  13. public Task Execute(IJobExecutionContext context)
  14. {
  15. JobDataMap jobdata = context.JobDetail.JobDataMap;
  16. JobDataMap triggerdata= context.Trigger.JobDataMap;
  17. Console.WriteLine($"JobKey:{jobdata["JobKey"]},TriggerKey:{triggerdata["TriggerKey"]},{DateTime.Now.ToString()}");
  18. return Task.CompletedTask;
  19. }
  20. }
  21. class Program
  22. {
  23. static async Task Main(string[] args)
  24. {
  25. IScheduler scheduler;/*****************this's Scheduler********************/
  26. {
  27. //调度器工厂
  28. StdSchedulerFactory factory = new StdSchedulerFactory();
  29. scheduler = await factory.GetScheduler(); //调度器
  30. }
  31. IJobDetail job; /*****************this's Ijob********************/
  32. {
  33. //创建一个工作任务 ,myjob1是名称,mygroup1是组名。
  34. job = JobBuilder.Create<MyJob>().WithIdentity("myjob1", "mygroup1")
  35. .UsingJobData("JobKey", "JobValue") //传数据
  36. .Build();
  37. //..... 可以创建多个Job然后通过 group进行分组
  38. //例如: 有7个接口 A/B/C/O/X/Y/Z
  39. //ABC分别接收ABC类型订单(已确定执行时间一致) 每天06:00执行
  40. //XYZ分别发送XYZ订单(已确定执行时间一致) 每天12:00/22:00点
  41. //O接口定时清理数据 每天23:00执行
  42. //则可以把 ABC分为 ABCGroup XYZ分为XYZGroup O单独分为Ogroup;
  43. }
  44. ITrigger trigger; /*****************this's Itrigger********************/
  45. {
  46. //触发器
  47. trigger = TriggerBuilder.Create()
  48. .WithIdentity("mytrigger1", "mygroup1") //定时器与JobGroup对应
  49. //.WithCronSchedule("0/5 * * * * ?") //5秒执行一次 //同下 (定时)
  50. .WithSimpleSchedule(x => x.WithIntervalInSeconds(5).RepeatForever()) //同上(定时)
  51. .UsingJobData("TriggerKey", "TriggerValue") //传数据
  52. .Build();
  53. }
  54. //将任务与触发器添加到调度器中
  55. _ = scheduler.ScheduleJob(job, trigger);
  56. _ = scheduler.Start();
  57. Console.Read();
  58. }
  59. }
  60. }

Quartz基础使用的更多相关文章

  1. Quartz基础调度框架-第二篇服务

    很多应用场景Quartz运行于Windows服务 Conf 在这个基本结构里 是用来存放配置  和上一篇 控制台运行的一样的结构 jobs.xml 的配置清单 <!-- 任务配置--> & ...

  2. Quartz基础调度框架-第一篇控制台

    Quartz基础调度框架 Quartz核心的概念:scheduler任务调度.Job任务.Trigger触发器.JobDetail任务细节 结构 Conf 在这个基本结构里 是用来存放配置 publi ...

  3. Quartz基础+实例

    1. 介绍 Quartz体系结构: 明白Quartz怎么用,首先要了解Scheduler(调度器).Job(任务)和Trigger(触发器)这3个核心的概念. 1. Job: 是一个接口,只定义一个方 ...

  4. Quartz基础知识了解(一)

    一.QuartZ是什么? 二.获取 三.核心接口 Scheduler - 与调度程序交互的主要API. Job - 由希望由调度程序执行的组件实现的接口. JobDetail - 用于定义作业的实例. ...

  5. SpringBoot之Quartz基础

    前言:由于我们本项目选用的Springboot来整合Quartz,官方给我们提供了启动器所以很简单.在以前的版本我们想要使用Quartz需要引入的依赖如下: <dependency> &l ...

  6. Quartz.Net 调度框架配置介绍

    在平时的工作中,估计大多数都做过轮询调度的任务,比如定时轮询数据库同步,定时邮件通知等等.大家通过windows计划任务,windows服务等都实现过此类任务,甚至实现过自己的配置定制化的框架.那今天 ...

  7. 10 -- 深入使用Spring -- 5...2 在Spring中使用Quartz

    10.5.2 在Spring中使用Quartz Spring 的任务调度抽象层简化了任务调度,在Quartz基础上提供了更好的调度抽象.本系统使用Quartz框架来完成任务调度,创建Quartz的作业 ...

  8. Quartz使用及注意事项

    Quartz使用及注意事项 前提:目前由于公司业务决定,大量使用Quartz,每天固定的时间点执行相应的业务逻辑,,几十个时间点应该是有的,某一个时间点如果没有执行带来的问题是巨大的.Quartz的稳 ...

  9. Quartz-第一篇 认识Quartz

    1.什么是Quartz Quartz是一个任务调度框架,借助Cron表达式,Quartz可以支持各种复杂的任务调度.JDK中也提供了简单的任务调度,java.util.Timer. Quartz的三大 ...

随机推荐

  1. C# opc 功能相关

    C# 程序里,使用 Interop.OPCAutomation.dll ,用于和opc通讯,读opc变量,写opc变量 链接: https://pan.baidu.com/s/1OpUa_Jct1gf ...

  2. Apple CSS Animation All In One

    Apple CSS Animation All In One Apple Watch CSS Animation https://codepen.io/xgqfrms/pen/LYZaNMb See ...

  3. angular-2-tutorial-2017

    # angular-2-tutorial-2017https://www.sitepoint.com/understanding-component-architecture-angular/http ...

  4. PHP & LAMP & WAMP

    PHP & LAMP & WAMP https://github.com/xgqfrms/DataStructure/issues/7#issuecomment-430538438 h ...

  5. yarn global add !== yarn add global

    yarn global add !== yarn add global yarn does not exist the --global flag, but exits yarn global com ...

  6. js Array All In One

    js Array All In One array 方法,改变原数组(长度),不改变原数组(长度) https://developer.mozilla.org/en-US/docs/Web/JavaS ...

  7. Serverless & Cloudflare Workers

    Serverless & Cloudflare Workers https://dash.cloudflare.com/6f3d5e68ab80892a372313b7c9b02a85/wor ...

  8. js 截取固定长度字符串但不打断单词

    适用地方:英文网站中,比如面包屑导航处新闻标题过长.用css截取文本简介时将单词打断   // 使用方法 // 1.复制下面函数 // 2.调用 // 3.填参数  sliceString(targe ...

  9. Baccarat流动性挖矿的收益能否持续?该如何参与Baccarat流动性挖矿?

    2020年DeFi市场火热,众多投资机构纷纷入场,分享这场资本盛宴.然而,目前市面上大多数DeFi项目手续费高昂,小资金的投资者无法入市.为了让更多的用户参与其中,NGK推出了Baccarat流动性挖 ...

  10. C++算法代码——奖学金

    题目来自:http://218.5.5.242:9018/JudgeOnline/problem.php?id=1098 题目描述 某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学 ...