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中的第 七种 ...
随机推荐
- 简说Spring中的资源加载
声明: 本文若有 任何纰漏.错误,请不吝指正!谢谢! 问题描述 遇到一个关于资源加载的问题,因此简单的记录一下,对Spring资源加载也做一个记录. 问题起因是使用了@PropertySource来进 ...
- [Objective-C] 015_Delegate(委托代理)
Delegate在iOS开发中随处可见,Delegate是一种功能强大的软件架构设计理念,它的功能是程序中一个对象代表另一个对象,或者一个对象与另外一个对象协同工作(如小明喜欢一个女孩如花,却苦于没有 ...
- Bank1
Bank1: package banking1; //账户 public class Account { private double balance;// 账户余额 public Account(d ...
- 分布式项目开发-web.xml基础配置
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http:// ...
- centos7 docker安装mongo遇到的问题
问题一 docker search error 描述:使用docker 搜索镜像时出现错误,错误信息如下: [root@ ~]# docker search mongo Error response ...
- JAVA WEB EL表达式注入
看猪猪侠以前的洞,顺便总结下: 一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的we ...
- 用TensorFlow搭建一个万能的神经网络框架(持续更新)
我一直觉得TensorFlow的深度神经网络代码非常困难且繁琐,对TensorFlow搭建模型也十分困惑,所以我近期阅读了大量的神经网络代码,终于找到了搭建神经网络的规律,各位要是觉得我的文章对你有帮 ...
- Rocket - diplomacy - MixedNode
https://mp.weixin.qq.com/s/zgeAI2n-2cHJi7-Ra5rYZA 介绍MixedNode的实现. 1. 类定义 2. inner/ou ...
- Chisel3 - util - MixedVec
https://mp.weixin.qq.com/s/mO648yx4_ZRedXSWX4Gj2g 可以容纳不同类型的变量的向量. 参考链接: https://github.com/freec ...
- [统计信息系列7] Oracle 11g的自动统计信息收集
(一)统计信息收集概述 在Oracle 11g中,默认有3个自动任务,分别是:自动统计信息收集.SQL调优顾问.段空间调整顾问,查看方法如下: SQL> SELECT CLIENT_NAME,T ...