【Quartz.Net】.net 下使用Quartz.Net

Quartz.net是作业调度框架

1. 项目中添加quartz.net的引用(这里使用nuget管理)

新建一个类TimingJob,该类主要用于实现任务逻辑

using Quartz;
using System;

namespace QuartzNetDemo
{
    /// <summary>
    /// 定时任务类
    /// </summary>
    public class TimingJob : IJob
    {
        public void Execute(IJobExecutionContext context)
        {
            //将要定时执行的逻辑代码写于此处
            Console.WriteLine("任务执行了");
        }
    }
}

在Program.cs中:(这里是控制台应用程序)

using Quartz;
using Quartz.Impl;
using System;

namespace QuartzNetDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            ISchedulerFactory sf = new StdSchedulerFactory();
            IScheduler scheduler = sf.GetScheduler();

            IJobDetail job = JobBuilder.Create<TimingJob>().WithIdentity("job1", "mygroup").Build();

            ITrigger trigger = TriggerBuilder.Create().StartAt(DateTime.Now.AddSeconds(5)).WithCronSchedule("/2 * * ? * *").Build();

            scheduler.ScheduleJob(job,trigger);
            scheduler.Start();
        }
    }
}

程序运行时,经过5秒后,每间隔2秒输出信息

Cron表达式:

quartz.NET中的cron表达式使用形如 "/5 * * ? * * *"  这样的7位表达式,最后一位年非必选,表达式从左到右,依此是秒、分、时、月第几天、月、周几、年

名称 范围 可使用的特殊字符
Seconds 0-59 , - * /
Minutes 0-59 , - * /
Hours 0-23 , - * /
Day of month 1-31 , - * ? / L W
Month 1-12 or JAN-DEC , - * /
Day of week 1-7 or SUN-SAT , - * ? / L #
Year 空, 1970-2099 , - * /

特殊字符与解释:

, 或的意思。
/ a/b。 a:代表起始时间,b频率时间。 
* 频率。 即每一次波动。
- 区间。 
? 任意值 。 即每一次波动。只能用在DayofMonth和DayofWeek,二者冲突。指定一个另一个一个要用?
L 表示最后。 只能用在DayofMonth和DayofWeek
W 工作日。 表示最后。 只能用在DayofWeek
#x#y。 只能用DayofMonth。 某月的第y个星期x

时间: 2024-08-07 14:27:48

【Quartz.Net】.net 下使用Quartz.Net的相关文章

非Spring下的Quartz

转自:Nick Huang.    http://www.cnblogs.com/nick-huang/ 阅读目录 > 参考的优秀资料 > 版本说明 > 简单的搭建 > 在Web应用中使用Quartz > 常用的Cron Schedule Quartz在Java构建的系统中,是十分常用的定时任务框架. 本文,记录.介绍Quartz的简单入门的单独搭建(此文入门学习Quartz为主,并非基于Spring托管形式). > 参考的优秀资料 Quartz Quick Start

Quartz(GUI)图形界面程序----Quartz Web

下载.设置和运行Quartz(GUI)图形界面程序----Quartz Web 一.获取Quartz Web程序(Quartz GUI).早期的 Quartz 框架开发者意识到一个 GUI 对于某类用户群体是必需的.几年前,一个 Web 应用被创立,它可用于管理 Quartz 框架.虽说是历经了几年有相当投入的开发,但不得不说的,总是时断时续的.近来出现有更多的要求对这个应用的更新与支持,因而又重新吸引了新的开发者自愿的工作并使之保持不断更新.这个应用就是知名的 Quartz Web 程序.Qu

quartz详解2:quartz由浅入深

http://blog.itpub.net/11627468/viewspace-1763498/ 一.quartz核心概念 先来看一张图:     scheduler 任务调度器 trigger 触发器,用于定义任务调度时间规则 job 任务,即被调度的任务 misfire 错过的,指本来应该被执行但实际没有被执行的任务调度 Job:是一个接口,只有一个方法void execute(JobExecutionContext context),开发者实现该接口定义运行任务,JobExecution

【Quartz】Quartz存储与持久化-基于quartz.properties的配置

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 一.   Quartz存储与持久化 Quartz提供两种基本作业存储类型.第一种类型叫做RAMJobStore,第二种类型叫做JDBC作业存储.在默认情况下Quartz将任务调度的运行信息保存在内存中,这种方法提供了最佳的性能,因为内存中数据访问最快.不足之处是缺乏数据的持久性,当程序路途停止或系统崩溃时,所有运行的信息都会丢失. 比如我们希望安排一个执行100次的任务,如果执行到50次时系

Quartz教程一:使用quartz

原文链接 | 译文链接 | 翻译:nkcoder | 校对:方腾飞 本系列教程由quartz-2.2.x官方文档翻译.整理而来,希望给同样对quartz感兴趣的朋友一些参考和帮助,有任何不当或错误之处,欢迎指正:有兴趣研究源码的同学,可以参考我对quartz-core源码的注释(进行中). Scheduler在使用之前需要实例化.一般通过SchedulerFactory来创建一个实例.有些用户将factory的实例保存在JNDI中,但直接初始化,然后使用该实例也许更简单(见下面的示例). sch

Quartz.NET学习系列(十一)--- Quartz.NET持久化及客户端服务器模式

持久化         Quartz.NET如果不进行数据库相关配置,则默认的执行模式为内存模式,优点是执行速度快,确定就是数据无法存储,宕机了需要重新开始. 持久化只需要做如下配置(以SQLServer为例) NameValueCollection properties = new NameValueCollection(); //存储类型 properties["quartz.jobStore.type"] = "Quartz.Impl.AdoJobStore.JobSt

.net 下使用Quartz.Net

Quartz.net是作业调度框架 1. 项目中添加quartz.net的引用(这里使用nuget管理) 新建一个类TimingJob,该类主要用于实现任务逻辑 using Quartz; using System; namespace QuartzNetDemo { /// <summary> /// 定时任务类 /// </summary> public class TimingJob : IJob { public void Execute(IJobExecutionCont

定时器Quartz ClassNotFound org.springframework.scheduling.quartz.SchedulerFactoryBean

没有添加spring-context-support-3.2.4.RELEASE.jar包 pom配置 <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-context-support</artifactId>   <version>3.2.4.RELEASE</version>  </dependency

任务调度--spring下的任务调度quartz

之前写过Timer实现任务调度,这篇文章用来写一下在spring下使用quartz实现任务调度,直接上代码: 定义任务对象: package com; /** * 1. 定义任务对象 * * @author Administrator * */ public class DataBackup { //提供任务方法 - 任务实现的内容 public void backup(){ System.out.println("备份数据库"); } } spring的配置文件 <!-- 该配