一、导入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. SQLDirect 6.5 Source (Delphi 5-10.1 Berlin)

    Description:SQLDirect Component Library is a light-weight Borland Database Engine replacement for Bo ...

  2. 《译文》借助OCR和神经网络,用JavaScript识别验证码

    昨天发现的了一段非常令人惊奇的JavaScript代码,是由ShaunF编写的automatically solves captchas,一个专门应用在Megaupload网站的Greasemonke ...

  3. Play Framework + ReactiveMongo 环境搭建

    Play!是一个full-stack(全栈的)Java/Scala Web应用框架,包括一个简单的无状态MVC模型,具有Hibernate的对象持续,一个基于Groovy的模板引擎,以及建立一个现代W ...

  4. [Erlang-0015][Lager] Erlang日志框架Lager简析

    项目地址:https://github.com/basho/lager (欢迎任何形式的转载,但请务必注明出处:http://www.cnblogs.com/liangjingyang)

  5. idea 导入maven项目

    1.import project 2.选择maven项目 3.选择第二个external moudle,选择maven, 4.点击next,一次点击1,2,3,4 5.设置maven环境 6.点击ok ...

  6. property的使用(事件可能就是回调函数)

    TOnUserInfoShow = procedure(userName:string;userAge:Integer)of object;//定义事件模型中的回调函数原型 TUserInfo = c ...

  7. CSocket实现端口扫描

    界面如下: 主要代码如下: //对于每一个线程,传过去的参数 typedef struct ThreadParamStruct { CString strIP; //要扫描的IP地址 UINT uPo ...

  8. jquery中的DOM操作集锦

    1,查找节点: 1 2 var $li = $("ul li:eq(1)");//查找元素 $li.attr("title"); //查找元素的属性值   2, ...

  9. android核心系列--1,组件生命周期

    一,进程模型及进程托管 1,一个APP应用是由一个或多个组件构成的,这些组件可以运行在一个进程中,也可以分别运行在多个进程中: 进程的构造和销毁是由系统全权负责的. 2,一个应用进程只有一个应用环境对 ...

  10. java集合框架collection(5)HashMap和TreeMap

    上图转载自:http://www.cnblogs.com/vamei/archive/2013/04/15/3000913.html 一.区别和联系 1.迭代器 迭代器是一种设计模式,它是一个对象,它 ...