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. rrweb 用户操作录制和还原

    rrweb 用户操作录制和还原 demos https://www.rrweb.io/replay refs https://www.rrweb.io/ xgqfrms 2012-2020 www.c ...

  2. Vue Login Form Component

    Vue Login Form Component Account Login <template> <div> <slot></slot> <el ...

  3. i18n 和 L10n (internationalization and localization) 国际化与本地化(具有全球战略眼光的公司企业的必由之路)

    i18n 和 L10n (internationalization and localization)  国际化与本地化(具有全球战略眼光的公司企业的必由之路) 1 1 https://zh.wiki ...

  4. windows 隐藏desktop.ini文件

    原文 在文件夹选项>查看 勾选"隐藏受保护的操作系统文件(推荐)"选项

  5. 「NGK每日快讯」2021.2.2日NGK公链第91期官方快讯!

  6. NGK内存将为全球投资者创造新的财富增长机会

    2020年,随着BTC的持续上涨带动了整个区块链市场的持续加温,同时金融市场也对金融体制做出了改变,关于金融和区块链的结合越来越被人们所认可,在此基础上,DeFi行业借此迎来了快速发展,据不完全统计, ...

  7. 开工大吉:TcaplusDB将持续为您提供可靠的数据服务

    开工大吉 新的一年 新的开始 我们也带着新的心意 向您奔赴而来    在此,TcaplusDB祝广大客户朋友,开工大吉,2021,我们将一如既往地守护您的数据,继续做您最坚实的后盾.    作为专为游 ...

  8. RabbitMQ-RPC版主机管理程序

    一.作业需求 1.可以对指定机器异步的执行多个命令 例子: 请输入操作指令>>>:run ipconfig --host 127.0.0.0 in the call     tack ...

  9. Django练习遇到的错误记录

    _reverse_with_prefix() argument after ** must be a mapping, not set 错误代码: def get_absolute_url(self) ...

  10. SpringBoot(九):SpringBoot集成Mybatis

    (1)新建一个SpringBoot工程,在pom.xml中配置相关jar依赖 贴代码: <!--加载mybatis整合springboot--> <dependency> &l ...