C# 使用Quartz简单实例以及备忘
一、导入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简单实例以及备忘的更多相关文章
- 定时执行程序-Quartz简单实例
1.加jar包:Quartz自己quartz-1.8.3.jar和依赖包commons-logging.jar .slf4j-log4j12-1.5.10.jar .slf4j-api-1.5.10 ...
- Quartz简单实例
Quartz中提供了两种触发器,分别是CronTrigger和SimpleTrigger. 1. SimpleTrigger 每隔若干毫秒来触发纳入进度的任务. 2. CronTrigger 在特定& ...
- c3p0-config.xml文件简单说明与备忘
<?xml version="1.0" encoding="UTF-8"?> <c3p0-config> <named-confi ...
- MySQL的简单使用方法备忘
这只是一篇我的个人备忘录,写的是我常用的命令.具体可以参考"菜鸟教程" https://www.runoob.com/mysql/mysql-tutorial.html 登录(用户 ...
- Colletion View 简单的备忘
UIColletionView 这篇只是做UIColletionView的常用属性.代理方法和数据源方法的备忘,之后做一些自定义布局,增加删除动画等. UIColletionViewFlowLayou ...
- 个人 WPF+EF(DBFirst) 简单应用开发习惯及EF学习测试(备忘) -- 2
接上篇:个人 WPF+EF(DBFirst) 简单应用开发习惯及EF学习测试(备忘) -- 1 Step1 在主程序中设置连接数据库 从Model类库的 App.Config 把数据库字符串拷贝出来, ...
- Spring boot 注解简单备忘
Spring boot 注解简单备忘 1.定义注解 package com.space.aspect.anno;import java.lang.annotation.*; /** * 定义系统日志注 ...
- 简单备忘一下Linux下的wget和curl如何使用http proxy
简单备忘一下Linux下的wget和curl如何使用http proxywget -e "http_proxy=porxyhost:port" www.baidu.comcurl ...
- get_template_part() 函数详解备忘(转)
最近研究官方主题 Twenty Eleven ,有一些东西网上现成的中文资料不好找,在博客里记载下来,算是分享,也算是备忘,wordpress 3.0 以后就开始便有了get_template_par ...
随机推荐
- DLL编写与调用全解
DLL编写与调用全解 DELPHI学习 2008-12-23 22:52 阅读8 评论0 字号: 大 中 小 第一章 为什么要使用动态链接库(DLL) top 提起DLL您一定不会 ...
- 使用Netconf管理Cisco网络设备
测试环境:Cisco CSR1000V虚拟化环境 Step 1:开启Cisco设备netconf-Yang,如下图: CSR1000V(config)#netconf-yang CSR1000V(co ...
- Android零基础入门第41节:使用SimpleAdapter
原文:Android零基础入门第41节:使用SimpleAdapter 通过ArrayAdapter实现Adapter虽然简单.易用,但ArrayAdapter的功能比较有限,它的每个列表项只能给一个 ...
- .gitignore 配置后无效
利用.gitignore过滤文件,如编译过程中的中间文件,等等,这些文件不需要被追踪管理. 现象: 在.gitignore添加file1文件,以过滤该文件,但是通过Git status查看仍显示fil ...
- JAVA 与 PHP 的不同和相同
Java语言与PHP语言因为都可以做web应用开发,所以总有入门学习这2种语言的入门者会问Java和PHP哪一个好.讨论语言的好坏是一件不太明智的事情,我认为只能去说那一种编程语言更加适合干什么,人与 ...
- DELPHI XE2 采用 JSON 的方式来序列化对象
DELPHI XE2 采用 JSON 的方式来序列化对象 以下代码测试通过.问题是里面的中文,在反序列化后是乱码. 1. 序列化对象为字符串,Subject 里面的中文看起来正常,仍然是中文: 2. ...
- DIXML(包括所有的W3C XML标准)
Description:DIXml is an embedded XML, XSLT, and EXSLT processing library for Delphi (Embarcadero / C ...
- Java 几个有用的命令 - All Options, Memory Options, GC Options, System Properties, Thread Dump, Heap Dump
jcmd ##Refer to http://www.cnblogs.com/tang88seng/p/4497725.html java -XX:+PrintFlagsFinal -version ...
- Delphi 屏幕抓图技术的实现
摘 要:本文以Delphi7.0作为开发平台,给出了网络监控软件中的两种屏幕抓图技术的设计方法和步骤.介绍了教师在计算机机房内教学时,如何监控学生计算机显示器上的画面,以保证教学的质量和效果. 引言 ...
- 逆向工程mybatis-geneator.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration ...