Quartz.Net系列(七):Trigger之SimpleScheduleBuilder详解
所有方法图
1.SimpleScheduleBuilder
RepeatForever:指定触发器将无限期重复。
WithRepeatCount:指定重复次数
- var trigger = TriggerBuilder.Create().WithSimpleSchedule(s=>s.WithIntervalInSeconds().RepeatForever()).Build();
- var trigger = TriggerBuilder.Create().WithSimpleSchedule(s=>s.WithIntervalInSeconds()
- .WithRepeatCount()).Build();
注:底层实现是repeatCount+1,也就是总共执行repeatCount+1次
- /// <summary>
- /// Specify a the number of time the trigger will repeat - total number of
- /// firings will be this number + 1.
- /// </summary>
- /// <remarks>
- /// </remarks>
- /// <param name="repeatCount">the number of seconds at which the trigger should repeat.</param>
- /// <returns>the updated SimpleScheduleBuilder</returns>
- /// <seealso cref="ISimpleTrigger.RepeatCount" />
- /// <seealso cref="RepeatForever" />
- public SimpleScheduleBuilder WithRepeatCount(int repeatCount)
- {
- this.repeatCount = repeatCount;
- return this;
- }
WithInterval:以毫秒为单位指定重复间隔,由于是TimeSpan也可以指定时分秒
WithIntervalInHours:以小时为单位指定重复间隔
WithIntervalInMinutes:以分钟单位指定重复间隔
WithIntervalInSeconds:以秒为单位指定重复间隔
- var trigger = TriggerBuilder.Create().WithSimpleSchedule(s=>s .WithIntervalInSeconds()
- .WithInterval(TimeSpan.FromDays())
- .WithIntervalInMinutes()
- .WithIntervalInHours()
- .WithRepeatCount())
- .Build();
注:底层都是通过WithInterval实现的
- /// <summary>
- /// Specify a repeat interval in milliseconds.
- /// </summary>
- /// <remarks>
- /// </remarks>
- /// <param name="timeSpan">the time span at which the trigger should repeat.</param>
- /// <returns>the updated SimpleScheduleBuilder</returns>
- /// <seealso cref="ISimpleTrigger.RepeatInterval" />
- /// <seealso cref="WithRepeatCount(int)" />
- public SimpleScheduleBuilder WithInterval(TimeSpan timeSpan)
- {
- interval = timeSpan;
- return this;
- }
- /// <summary>
- /// Specify a repeat interval in seconds.
- /// </summary>
- /// <remarks>
- /// </remarks>
- /// <param name="seconds">the time span at which the trigger should repeat.</param>
- /// <returns>the updated SimpleScheduleBuilder</returns>
- /// <seealso cref="ISimpleTrigger.RepeatInterval" />
- /// <seealso cref="WithRepeatCount(int)" />
- public SimpleScheduleBuilder WithIntervalInSeconds(int seconds)
- {
- return WithInterval(TimeSpan.FromSeconds(seconds));
- }
静态方法:
RepeatMinutelyForever
RepeatMinutelyForTotalCount
RepeatSecondlyForever
RepeatSecondlyForTotalCount
RepeatHourlyForever
RepeatHourlyForTotalCount
- var trigger = TriggerBuilder.Create().WithSchedule(SimpleScheduleBuilder.RepeatSecondlyForTotalCount()).Build();
- /// <summary>
- /// Create a SimpleScheduleBuilder set to repeat forever with a 1 minute interval.
- /// </summary>
- /// <remarks>
- /// </remarks>
- /// <returns>the new SimpleScheduleBuilder</returns>
- public static SimpleScheduleBuilder RepeatMinutelyForever()
- {
- SimpleScheduleBuilder sb = Create()
- .WithInterval(TimeSpan.FromMinutes())
- .RepeatForever();
- return sb;
- }
- /// <summary>
- /// Create a SimpleScheduleBuilder set to repeat forever with an interval
- /// of the given number of minutes.
- /// </summary>
- /// <remarks>
- /// </remarks>
- /// <returns>the new SimpleScheduleBuilder</returns>
- public static SimpleScheduleBuilder RepeatMinutelyForever(int minutes)
- {
- SimpleScheduleBuilder sb = Create()
- .WithInterval(TimeSpan.FromMinutes(minutes))
- .RepeatForever();
- return sb;
- }
- /// <summary>
- /// Create a SimpleScheduleBuilder set to repeat forever with a 1 second interval.
- /// </summary>
- /// <remarks>
- /// </remarks>
- /// <returns>the new SimpleScheduleBuilder</returns>
- public static SimpleScheduleBuilder RepeatSecondlyForever()
- {
- SimpleScheduleBuilder sb = Create()
- .WithInterval(TimeSpan.FromSeconds())
- .RepeatForever();
- return sb;
- }
- /// <summary>
- /// Create a SimpleScheduleBuilder set to repeat forever with an interval
- /// of the given number of seconds.
- /// </summary>
- /// <remarks>
- /// </remarks>
- /// <returns>the new SimpleScheduleBuilder</returns>
- public static SimpleScheduleBuilder RepeatSecondlyForever(int seconds)
- {
- SimpleScheduleBuilder sb = Create()
- .WithInterval(TimeSpan.FromSeconds(seconds))
- .RepeatForever();
- return sb;
- }
- /// <summary>
- /// Create a SimpleScheduleBuilder set to repeat forever with a 1 hour interval.
- /// </summary>
- /// <remarks>
- /// </remarks>
- /// <returns>the new SimpleScheduleBuilder</returns>
- public static SimpleScheduleBuilder RepeatHourlyForever()
- {
- SimpleScheduleBuilder sb = Create()
- .WithInterval(TimeSpan.FromHours())
- .RepeatForever();
- return sb;
- }
- /// <summary>
- /// Create a SimpleScheduleBuilder set to repeat forever with an interval
- /// of the given number of hours.
- /// </summary>
- /// <remarks>
- /// </remarks>
- /// <returns>the new SimpleScheduleBuilder</returns>
- public static SimpleScheduleBuilder RepeatHourlyForever(int hours)
- {
- SimpleScheduleBuilder sb = Create()
- .WithInterval(TimeSpan.FromHours(hours))
- .RepeatForever();
- return sb;
- }
- /// <summary>
- /// Create a SimpleScheduleBuilder set to repeat the given number
- /// of times - 1 with a 1 minute interval.
- /// </summary>
- /// <remarks>
- /// <para>Note: Total count = 1 (at start time) + repeat count</para>
- /// </remarks>
- /// <returns>the new SimpleScheduleBuilder</returns>
- public static SimpleScheduleBuilder RepeatMinutelyForTotalCount(int count)
- {
- if (count < )
- {
- throw new ArgumentException("Total count of firings must be at least one! Given count: " + count);
- }
- SimpleScheduleBuilder sb = Create()
- .WithInterval(TimeSpan.FromMinutes())
- .WithRepeatCount(count - );
- return sb;
- }
- /// <summary>
- /// Create a SimpleScheduleBuilder set to repeat the given number
- /// of times - 1 with an interval of the given number of minutes.
- /// </summary>
- /// <remarks>
- /// <para>Note: Total count = 1 (at start time) + repeat count</para>
- /// </remarks>
- /// <returns>the new SimpleScheduleBuilder</returns>
- public static SimpleScheduleBuilder RepeatMinutelyForTotalCount(int count, int minutes)
- {
- if (count < )
- {
- throw new ArgumentException("Total count of firings must be at least one! Given count: " + count);
- }
- SimpleScheduleBuilder sb = Create()
- .WithInterval(TimeSpan.FromMinutes(minutes))
- .WithRepeatCount(count - );
- return sb;
- }
- /// <summary>
- /// Create a SimpleScheduleBuilder set to repeat the given number
- /// of times - 1 with a 1 second interval.
- /// </summary>
- /// <remarks>
- /// <para>Note: Total count = 1 (at start time) + repeat count</para>
- /// </remarks>
- /// <returns>the new SimpleScheduleBuilder</returns>
- public static SimpleScheduleBuilder RepeatSecondlyForTotalCount(int count)
- {
- if (count < )
- {
- throw new ArgumentException("Total count of firings must be at least one! Given count: " + count);
- }
- SimpleScheduleBuilder sb = Create()
- .WithInterval(TimeSpan.FromSeconds())
- .WithRepeatCount(count - );
- return sb;
- }
- /// <summary>
- /// Create a SimpleScheduleBuilder set to repeat the given number
- /// of times - 1 with an interval of the given number of seconds.
- /// </summary>
- /// <remarks>
- /// <para>Note: Total count = 1 (at start time) + repeat count</para>
- /// </remarks>
- /// <returns>the new SimpleScheduleBuilder</returns>
- public static SimpleScheduleBuilder RepeatSecondlyForTotalCount(int count, int seconds)
- {
- if (count < )
- {
- throw new ArgumentException("Total count of firings must be at least one! Given count: " + count);
- }
- SimpleScheduleBuilder sb = Create()
- .WithInterval(TimeSpan.FromSeconds(seconds))
- .WithRepeatCount(count - );
- return sb;
- }
- /// <summary>
- /// Create a SimpleScheduleBuilder set to repeat the given number
- /// of times - 1 with a 1 hour interval.
- /// </summary>
- /// <remarks>
- /// <para>Note: Total count = 1 (at start time) + repeat count</para>
- /// </remarks>
- /// <returns>the new SimpleScheduleBuilder</returns>
- public static SimpleScheduleBuilder RepeatHourlyForTotalCount(int count)
- {
- if (count < )
- {
- throw new ArgumentException("Total count of firings must be at least one! Given count: " + count);
- }
- SimpleScheduleBuilder sb = Create()
- .WithInterval(TimeSpan.FromHours())
- .WithRepeatCount(count - );
- return sb;
- }
- /// <summary>
- /// Create a SimpleScheduleBuilder set to repeat the given number
- /// of times - 1 with an interval of the given number of hours.
- /// </summary>
- /// <remarks>
- /// <para>Note: Total count = 1 (at start time) + repeat count</para>
- /// </remarks>
- /// <returns>the new SimpleScheduleBuilder</returns>
- public static SimpleScheduleBuilder RepeatHourlyForTotalCount(int count, int hours)
- {
- if (count < )
- {
- throw new ArgumentException("Total count of firings must be at least one! Given count: " + count);
- }
- SimpleScheduleBuilder sb = Create()
- .WithInterval(TimeSpan.FromHours(hours))
- .WithRepeatCount(count - );
- return sb;
- }
Quartz.Net系列(七):Trigger之SimpleScheduleBuilder详解的更多相关文章
- MongoDB副本集配置系列七:MongoDB oplog详解
1:oplog简介 oplog是local库下的一个固定集合,Secondary就是通过查看Primary 的oplog这个集合来进行复制的.每个节点都有oplog,记录这从主节点复制过来的信息,这样 ...
- SpringBoot系列(十二)过滤器配置详解
SpringBoot(十二)过滤器详解 往期精彩推荐 SpringBoot系列(一)idea新建Springboot项目 SpringBoot系列(二)入门知识 springBoot系列(三)配置文件 ...
- 深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)
上篇文章<深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)> 介绍了properties与environments, ...
- Android Studio系列教程五--Gradle命令详解与导入第三方包
Android Studio系列教程五--Gradle命令详解与导入第三方包 2015 年 01 月 05 日 DevTools 本文为个人原创,欢迎转载,但请务必在明显位置注明出处!http://s ...
- 构建安全的Xml Web Service系列之wse之错误代码详解
原文:构建安全的Xml Web Service系列之wse之错误代码详解 WSE3.0现在还没有中文版的可以下载,使用英文版的过程中,难免会遇到各种各样的错误,而面对一堆毫无头绪的错误异常,常常会感到 ...
- [js高手之路] es6系列教程 - 对象功能扩展详解
第一:字面量对象的方法,支持缩写形式 //es6之前,这么写 var User = { name : 'ghostwu', showName : function(){ return this.nam ...
- “全栈2019”Java第七十章:静态内部类详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- [转帖]Linux系列之SAR命令使用详解
Linux系列之SAR命令使用详解 sar是System Activity Reporter(系统活动情况报告)的缩写.这个工具所需要的负载很小,也是目前linux中最为全面的性能分析工具之一.此款工 ...
- 【面试题】JS第七种数据类型Symbol详解
JS第七种数据类型Symbol详解 点击打开视频讲解更加详细 一.什么是Symbol? Symbol是ES6中引入的一种新的基本数据类型,用于表示一个独一无二的值.它是JavaScript中的第 七种 ...
随机推荐
- Leetcode 416分割等和子集
416. 分割等和子集 已知是个背包问题,由于可以等分为两部分,所以必定是个偶数. 一开始想到的是回溯法 bool helper(vector<int>&nums, int i, ...
- sqlmap tamper脚本备忘录与tamper脚本编写
查看sqlmap全部脚本 $ python sqlmap.py --list-tampers 使用方法 --tamper=TAMPER 2019.9更新后翻译 * apostrophemask.py- ...
- 小谢第8问:ui框架的css样式如何更改
目前有三种方法, 1.使用scss,增加样式覆盖,但是此种方法要求css的className需要与框架内的元素相一致,因此修改时候需要特别注意,一个父级的不同就可能修改失败 2.deep穿透,这种方法 ...
- Java实现 蓝桥杯VIP 算法提高 计算时间
算法提高 计算时间 时间限制:1.0s 内存限制:512.0MB 问题描述 给定一个t,将t秒转化为HH:MM:SS的形式,表示HH小时MM分钟SS秒.HH,MM,SS均是两位数,如果小于10用0补到 ...
- 第五届蓝桥杯JavaA组省赛真题
解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.猜年龄 题目描述 小明带两个妹妹参加元宵灯会.别人问她们多大了,她们调皮地说:"我们俩的年龄之积是年龄之和的6倍" ...
- 第九届蓝桥杯JavaA组省赛真题
解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.分数 题目描述 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + - 每项是前一项的一半,如果一共有20项, 求这个和是多 ...
- Java实现 洛谷 P1047 校门外的树
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = ...
- C++拷贝构造函数被调用的时机
拷贝构造函数调用的几种情况: 当用类的一个对象去初始化该类的另一个对象(或引用)时系统自动调用拷贝构造函数实现拷贝赋值. 若函数的形参为类对象,调用函数时,实参赋值给形参,系统自动调用拷贝构造函数.( ...
- Linux磁盘空间容量不够-通过新增磁盘-挂载原磁盘
首先上一张图 -------1)首先fdisk 一块磁盘并格式化 mkfs.ext4 /dev/sda15 --------2)将此磁盘挂载在mnt目录下,并将磁盘容量不够的磁盘所有文件进行复制到mn ...
- GIT 仓库的搭建
1.安装并配置必要的依赖关系 在CentOS 7(和RedHat / Oracle / Scientific Linux 7)上,以下命令还将在系统防火墙中打开HTTP和SSH访问. yum inst ...