Quartz.NET定时任务组件简介

目标:实现一个每隔一分钟报时的Demo

首先引用Quatz.NET的dll文件,包括Common.Logging.dll、Common.Logging.Core.dll、Quartz.dll三个文件。

也可通过NuGet命令:Install-Package Quartz

以上处理完毕后,新建一个ShowTime类,继承自IJob

1     public class ShowTime : IJob
2     {
3         public void Execute(IJobExecutionContext context)
4         {
5             Console.WriteLine(DateTime.Now);
6         }
7     }

再新建一个ShowTimeSchedule类

 1     public class ShowTimeSchedule
 2     {
 3         public static void Publish()
 4         {
 5             //01.创建调度工厂
 6             ISchedulerFactory schedulerFactory = new StdSchedulerFactory();
 7
 8             //01.创建调度者
 9             IScheduler scheduler = schedulerFactory.GetScheduler();
10
11             //03.创建任务建造者
12             JobBuilder jobBuilder = JobBuilder.Create<ShowTime>();
13
14             //04.创建任务
15             IJobDetail job = jobBuilder.Build();
16
17             //05.创建触发器建造者
18             TriggerBuilder triggerBuilder = TriggerBuilder.Create();
19             triggerBuilder.WithCronSchedule("0 * 10 * * ?");    //此中字符串为Quartz专用cron表达式
20
21             //06.创建触发器
22             ITrigger trigger = triggerBuilder.Build();
23
24             //07.为调度者添加任务与触发器
25             scheduler.ScheduleJob(job, trigger);
26
27             //08.开始调度
28             scheduler.Start();
29         }
30     }

Main方法中如下

1     class Program
2     {
3         static void Main(string[] args)
4         {
5             //发布任务
6             ShowTimeSchedule.Publish();
7         }
8     }

运行后效果

关于cron表达式的详细配置可参考懒惰的肥兔的博客园

http://www.cnblogs.com/lzrabbit/archive/2012/04/14/2371420.html

时间: 2024-11-08 13:29:43

Quartz.NET定时任务组件简介的相关文章

【REACT NATIVE 系列教程之七】统一ANDROID与IOS两个平台的程序入口&&区分平台的组件简介

本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/react-native/2260.html       本篇介绍两个细节:       1. 关于如何将index.android.js 与index.ios.js统一管理起来.       2.  Platform 组件的简单介绍与使用   一:将index.android.js 与index.ios.js统一管理起来. 由于React本身

【spring-boot】 springboot集成quartz实现定时任务

在做项目时有时候会有定时器任务的功能,比如某某时间应该做什么,多少秒应该怎么样之类的. spring支持多种定时任务的实现.我们来介绍下使用spring的定时器和使用quartz定时器 1.我们使用spring-boot作为基础框架,其理念为零配置文件,所有的配置都是基于注解和暴露bean的方式. 2.使用spring的定时器: spring自带支持定时器的任务实现.其可通过简单配置来使用到简单的定时任务. @Component @Configurable @EnableScheduling p

Spring Boot集成quartz实现定时任务并支持切换任务数据源

org.quartz实现定时任务并自定义切换任务数据源 在工作中经常会需要使用到定时任务处理各种周期性的任务,org.quartz是处理此类定时任务的一个优秀框架.随着项目一点点推进,此时我们并不满足于任务仅仅是定时执行,我们还想要对任务进行更多的控制,随时能对任务进行人为干预,就需要对quartz有更深入的了解.而随着微服务的流行,项目中多数据源的情况也越来越常见,在定时任务中集成多数据源切换的功能也需要集成进来. 集成quartz实现定时任务 集成quartz实现定时任务 quartz中实现

Quartz实现定时任务(一)

前言 有段时间没写blog了,说来惭愧,最近一直在给公司做P2P项目的服务端,但这都不是借口,高尔基曾说过(不太确定T_T),时间就像海绵里的水,只要愿意挤总是有的!所以写博客的节奏还是必须脉动回来,必须养成不断学习,不断记录,不断总结的好习惯.废话不多说,最近需要做一些服务器端的定时任务,决定使用Quartz去实现,之前也没接触过,所以就边学边做了,顺便把这个过程记录下来. 初识Quartz 首先看一下百科中对Quartz的简介:Quartz是OpenSymphony开源组织在Job sche

Spring MVC(四)—— quartz实现定时任务

一.简介 Quartz是一个完全由java编写的开源作业调度框架,Quartz作为Java实现的工业标准级别的定时任务调度器,Spring对其提供了无缝的集成,并大大简化了开发工作. 一个任务调度器最基本的三个元素是 Job(or Task):需要定时处理的事情 Trigger: 事件触发时间点(一次性的.固定周期性的.像Linux Cron Jobs 灵活配置的) Scheduler: 调度器 Job与Trigger是一对一的关系,Scheduler与Trigger是一对多的关系. Quart

Spring+quartz 实现定时任务job集群配置

为什么要有集群定时任务? 因为如果多server都触发相同任务,又同时执行,那在99%的场景都是不适合的.比如银行每晚24:00都要汇总营业额.像下面3台server同时进行汇总,最终计算结果可能是真实结果的3倍,那对银行来说是无法想象的,完全不可接受. 集群定时任务工作原理 所以为了解决以上问题,每个server把将要及正在运行的job所有状态都即时同步到中央数据库,然后再次触发调用时从数据库中分析是否已有别的server正在运行相同job (同名同定时时间点的job属于相当job),如果相同

Quartz.net 定时任务之简单任务

一.概述 1.quartz.net 是一款从java quartz 上延伸出来的定时任务框架. 2.我在网上看到很多大神写过关于quartz.net 的博客.文章等,在这些博客文章里也学会了很多关于quartz的知识.今天博主也想写一篇关于quartz的文章(不足之处望大神斧正),希望能帮助正在学习quartz路上的兄弟姐妹,顺便也巩固自己. 3.quartz这篇博客会从最基础的开始,之后会逐渐的升级,如果有喜欢的兄弟姐妹,请关注我的博客,博主会持续更新 二.搭建 1.打开vs创建新的mvc空项

sping的quartz设置定时任务

除了spring相关的jar包之外,还需要引入quartz-all-1.6.6.jar. spring配置文件增加quartz-bean.xml和quartz-set.xml quartz-bean.xml: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=&qu

Spring整合quartz实现定时任务

quartz比timer的功能更强大,结合spring可以简化quartz的配置来实现定时任务. 1 导入包:quartz-all.jar 2 创建定时执行的任务类(类名可以是普通类名): package com.web.quartz; import java.text.SimpleDateFormat; import java.util.Date; public class Task { public void execute(){ String now=new SimpleDateForma