一、导入NuGet

 二、创建一个类并实现接口Ijob,并实现该接口中的方法。

using Buday.Gold.Cusumer.Lib;
using Quartz;
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace Quartz.CheckoutService
{
public class JobInterest : IJob
{
public Task Execute(IJobExecutionContext context)
{
return Task.Run(() =>
{
//在此处实现作业的业务逻辑
Console.WriteLine(""); });
} }
}

三、使用

using Quartz;
using Quartz.Impl;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace Buday.Gold.Cusumer.CheckoutService
{
class Program
{
static void Main(string[] args)
{
var scheduler = StdSchedulerFactory.GetDefaultScheduler().GetAwaiter().GetResult();
//创建触发条件
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("InterestTrigger", "Interest")
.StartNow()
.WithDailyTimeIntervalSchedule(t =>
{
t.OnEveryDay();//每天都执行
t.StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(, ));//设置执行的开始时间
//只设置开始时间,会在开始以后一直执行
t.EndingDailyAt(TimeOfDay.HourAndMinuteOfDay(, ));//设置停止执行的时间
//二者表示,开某个时间段执行
t.WithIntervalInHours();//执行的间隔
})
.Build();
//创建作业内容
IJobDetail job = JobBuilder.Create(typeof(JobInterest))
.WithIdentity("InterestJob", "Interest")
.Build();
scheduler.ScheduleJob(job, trigger);
scheduler.Start();
}
}
}
四、收集的一些 ITrigger 属性说明:

1.WithSimpleSchedule:
指定从某一个时间开始,以一定的时间间隔(单位是毫秒)执行的任务。
.WithSimpleSchedule(t => {
t.RepeatForever();//重复次数不限
//上下两者取其一
t.WithRepeatCount();//设置重复次数,例如5次
t.WithIntervalInHours();//设置执行间隔
//上下两者取其一
t.WithInterval(new TimeSpan(, , ));//设置重复间隔,用具体的小时,分钟,秒
})
2.WithCalendarIntervalSchedule:
和WithSimpleSchedule类似,不同的是.SimpleSchedule指定的重复间隔只有(时,分,秒)而CalendarIntervalSchedule可以时(年,月,周,天,时,分,秒)
.WithCalendarIntervalSchedule(t => {
t.WithIntervalInDays();//间隔以天为单位
t.WithIntervalInWeeks();//间隔以周为单位
t.WithIntervalInMonths();//间隔以月为单位
t.WithIntervalInYears();//间隔以年为单位
})
3.WithDailyTimeIntervalSchedule:
指定每天的某个时间段内,以一定的时间间隔执行任务。并且它可以支持指定星期
.WithDailyTimeIntervalSchedule(t => {
t.OnEveryDay();//每天执行
t.OnDaysOfTheWeek(DayOfWeek.Monday,DayOfWeek.Saturday);//每周的星期几执行
t.OnMondayThroughFriday();//设置工作日执行(周一至周五)
t.OnSaturdayAndSunday();//设置周末执行
t.StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(,));//设置执行的开始时间
//只设置开始时间,会在开始以后一直执行
t.EndingDailyAt(TimeOfDay.HourAndMinuteOfDay(, ));//设置停止执行的时间
//二者表示,开某个时间段执行
t.WithIntervalInHours();//设置重复间隔(更据方法不同可是时,分,秒)
t.WithRepeatCount();//设置总共执行次数
})
4.StartNow()和.StartAt(new DateTimeOffset(new DateTime(2018,1,10))):
StartNow:表示启动后立即执行一次.
StartAt:表示启动后在指定日期或时间开始执行
5.WithCronTrigger:
以表达的形式定义触发条件

C# 使用Quartz简单实例以及备忘的更多相关文章

  1. 定时执行程序-Quartz简单实例

    1.加jar包:Quartz自己quartz-1.8.3.jar和依赖包commons-logging.jar  .slf4j-log4j12-1.5.10.jar .slf4j-api-1.5.10 ...

  2. Quartz简单实例

    Quartz中提供了两种触发器,分别是CronTrigger和SimpleTrigger. 1. SimpleTrigger 每隔若干毫秒来触发纳入进度的任务. 2. CronTrigger 在特定& ...

  3. c3p0-config.xml文件简单说明与备忘

    <?xml version="1.0" encoding="UTF-8"?> <c3p0-config> <named-confi ...

  4. MySQL的简单使用方法备忘

    这只是一篇我的个人备忘录,写的是我常用的命令.具体可以参考"菜鸟教程" https://www.runoob.com/mysql/mysql-tutorial.html 登录(用户 ...

  5. Colletion View 简单的备忘

    UIColletionView 这篇只是做UIColletionView的常用属性.代理方法和数据源方法的备忘,之后做一些自定义布局,增加删除动画等. UIColletionViewFlowLayou ...

  6. 个人 WPF+EF(DBFirst) 简单应用开发习惯及EF学习测试(备忘) -- 2

    接上篇:个人 WPF+EF(DBFirst) 简单应用开发习惯及EF学习测试(备忘) -- 1 Step1 在主程序中设置连接数据库 从Model类库的 App.Config 把数据库字符串拷贝出来, ...

  7. Spring boot 注解简单备忘

    Spring boot 注解简单备忘 1.定义注解 package com.space.aspect.anno;import java.lang.annotation.*; /** * 定义系统日志注 ...

  8. 简单备忘一下Linux下的wget和curl如何使用http proxy

    简单备忘一下Linux下的wget和curl如何使用http proxywget -e "http_proxy=porxyhost:port" www.baidu.comcurl ...

  9. get_template_part() 函数详解备忘(转)

    最近研究官方主题 Twenty Eleven ,有一些东西网上现成的中文资料不好找,在博客里记载下来,算是分享,也算是备忘,wordpress 3.0 以后就开始便有了get_template_par ...

随机推荐

  1. github中README.md文件写法解析,git指令速查表

    http://blog.csdn.net/u012234115/article/details/41778701 http://blog.csdn.net/u012234115/article/det ...

  2. QML中实现setTimeout和setInterval

    Qt的QML中,js未提供setTimeout和setInterval,可以通过下面的代码实现. Timer {id: timer} function setTimeout(cb,delayTime) ...

  3. 改善C#程序的建议6:在线程同步中使用信号量

    原文:改善C#程序的建议6:在线程同步中使用信号量 所谓线程同步,就是多个线程之间在某个对象上执行等待(也可理解为锁定该对象),直到该对象被解除锁定.C#中对象的类型分为引用类型和值类型.CLR在这两 ...

  4. delphi 实现微信开发(1) (使用kbmmw web server)

    原文地址:delphi 实现微信开发(1)作者:红鱼儿 大体思路: 1.用户向服务号发消息,(这里可以是个菜单项,也可以是一个关键词,如:注册会员.) 2.kbmmw web server收到消息,生 ...

  5. Delphi中动态调用TXMLDocument的经历

    var  vXMLDocument: TXMLDocument;begin  vXMLDocument := TXMLDocument.Create('c:/temp/temp.xml');  Cap ...

  6. Windows下配置QT OpenCV

    OpenCV-Study:Windows下配置OpenCV 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:XP OpenCV版本:2.4 ...

  7. hdu4633_Polya定理

    典型的Polya定理,还算比较简单,比赛的时候知道是Polya定理但是根本没留出时间去搞,有点小遗憾. 思路:根据Burnside引理,等价类个数等于所有的置换群中的不动点的个数的平均值,根据Poly ...

  8. 细谈unity资源加载和卸载

    转载请标明出处:http://www.cnblogs.com/zblade/ 一.概要 在了解unity的资源管理方式之后,接下来细谈一下Unity的资源是如何从磁盘中加载到运行时的内存中,以及又是如 ...

  9. Linux常用实用命令

    Linux是我们开发人员必不可少的系统,也是经常接触到的.然而,Linux命令比较多,有些不常用也难记住.那么,我们如何更高效的使用Linux命令,而又不必全面地学习呢?今天就给大家分享一下我在开发过 ...

  10. sqlserver 表值函数与标量值函数

    除了在我们常用的程序开发中要用到函数外,在sql语句中也常用到函数,不论哪种,思想都没有变,都是为了封装,可复用. 创建的方法和整体结构都大体相同,都少不了函数名,函数的形参,返回值等这些. 一.表值 ...