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基础使用的更多相关文章

  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. H.264视频压缩标准

    H.264 这部分一直在讲,但是却没有系统的来说.接下来要详细. 参看:H.264视频压缩标准 一.简介 H.264是最新的视频压缩标准,它也称为MPEG-4 Part 10或AVC(高级视频编码). ...

  2. JavaScript 的 7 种设计模式

    原文地址:Understanding Design Patterns in JavaScript 原文作者:Sukhjinder Arora 译者:HelloGitHub-Robert 当启动一个新的 ...

  3. PWA All In One

    PWA All In One chrome://apps/ PWA Progressive Web App 可安装,添加到主屏 离线使用 轻量,快速 基于 Web 技术一套代码多端复用(移动端,桌面端 ...

  4. webpack defineConstants

    webpack defineConstants PAGES 全局常量/全局变量 https://webpack.js.org/plugins/define-plugin/ taro https://n ...

  5. flutter 使用Android studio编辑kt插件

    使用android studio打开/example/android 文件即可

  6. nodejs 调用win32 api

    video 教程文件 win32 api >node -v v12.16.1 >npm install -g node-gyp >npm i @saleae/ffi >node ...

  7. 配置伪分布模式下的hadoop以及采用fuse-dfs来访问HDFS

    实验目标 配置环境的主要目的是得到HDFS的客户端fuse-dfs的IO性能.本来的服务器上没有任何环境,因此安装均是从无到有的.系统是Ubuntu server 14.04 amd64.整个过程参考 ...

  8. ATP - UI 自动化测试用例管理平台搭建

    用到的工具:python3 + django2 + mysql + RabbitMQ + celery + selenium python3和selenium这个网上很多教程,我不在这一一说明:   ...

  9. Java基础语法:标识符

    Java所有的组成部分都需要名字. 类名.变量名 以及方法名 都被称为标识符. 一.规则 Ⅰ.首字符 规则:所有的标识符都应该以字母(A-Z 或者 a-z).美元符($).下划线(_)开始. 示例:t ...

  10. SpringCloud(一):微服务架构概述

    1-1.  系统进化理论概述 在系统架构与设计的实践中,经历了两个阶段,一个阶段是早些年常见的集中式系统,一个阶段是近年来流行的分布式系统: 集中式系统: 集中式系统也叫单体应用,就是把所有的程序.功 ...