所有方法图

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详解的更多相关文章

  1. MongoDB副本集配置系列七:MongoDB oplog详解

    1:oplog简介 oplog是local库下的一个固定集合,Secondary就是通过查看Primary 的oplog这个集合来进行复制的.每个节点都有oplog,记录这从主节点复制过来的信息,这样 ...

  2. SpringBoot系列(十二)过滤器配置详解

    SpringBoot(十二)过滤器详解 往期精彩推荐 SpringBoot系列(一)idea新建Springboot项目 SpringBoot系列(二)入门知识 springBoot系列(三)配置文件 ...

  3. 深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)

    上篇文章<深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)> 介绍了properties与environments, ...

  4. Android Studio系列教程五--Gradle命令详解与导入第三方包

    Android Studio系列教程五--Gradle命令详解与导入第三方包 2015 年 01 月 05 日 DevTools 本文为个人原创,欢迎转载,但请务必在明显位置注明出处!http://s ...

  5. 构建安全的Xml Web Service系列之wse之错误代码详解

    原文:构建安全的Xml Web Service系列之wse之错误代码详解 WSE3.0现在还没有中文版的可以下载,使用英文版的过程中,难免会遇到各种各样的错误,而面对一堆毫无头绪的错误异常,常常会感到 ...

  6. [js高手之路] es6系列教程 - 对象功能扩展详解

    第一:字面量对象的方法,支持缩写形式 //es6之前,这么写 var User = { name : 'ghostwu', showName : function(){ return this.nam ...

  7. “全栈2019”Java第七十章:静态内部类详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  8. [转帖]Linux系列之SAR命令使用详解

    Linux系列之SAR命令使用详解 sar是System Activity Reporter(系统活动情况报告)的缩写.这个工具所需要的负载很小,也是目前linux中最为全面的性能分析工具之一.此款工 ...

  9. 【面试题】JS第七种数据类型Symbol详解

    JS第七种数据类型Symbol详解 点击打开视频讲解更加详细 一.什么是Symbol? Symbol是ES6中引入的一种新的基本数据类型,用于表示一个独一无二的值.它是JavaScript中的第 七种 ...

随机推荐

  1. 【Ubuntu】利用sudo修改/etc/sudoers翻车

      翻车背景:利用命令行创建新用户,这里不得不提该翻车博客[1],当然这里并没有怪罪的意思,贴出来只是为了让后来者使用正确命令修改sudoers文件.系统:Ubuntu18.04 利用[1]中的“新用 ...

  2. BUUCTF WEB

    BUUCTF 几道WEB题WP 今天做了几道Web题,记录一下,Web萌新写的不好,望大佬们见谅○| ̄|_ [RoarCTF 2019]Easy Calc 知识点:PHP的字符串解析特性 参考了一下网 ...

  3. static关键字的应用

    static关键字的应用:使用静态的变量可以实现   "累加" 的效果 package com.aff.statics; public class TestCircle { pub ...

  4. 基于 abp vNext 和 .NET Core 开发博客项目 - 定时任务最佳实战(二)

    上一篇(https://www.cnblogs.com/meowv/p/12971041.html)使用HtmlAgilityPack抓取壁纸数据成功将图片存入数据库,本篇继续来完成一个全网各大平台的 ...

  5. MD5安全吗?

    MD5的破解方法目前分为两类:一类为彩虹表破解:一类为专业的MD5破解站点. 1.彩虹表 彩虹表是一个庞大的.针对各种可能的字母组合预先计算好的哈希值的集合.彩虹表不仅针对MD5算法,主流的算法都有对 ...

  6. 面试题: Java中各个集合类的扩容机制

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) Java 中提供了很多的集合类,包括,collection的子接口list.set,以及map等.由于它 ...

  7. Java实现 LeetCode 699 掉落的方块(线段树?)

    699. 掉落的方块 在无限长的数轴(即 x 轴)上,我们根据给定的顺序放置对应的正方形方块. 第 i 个掉落的方块(positions[i] = (left, side_length))是正方形,其 ...

  8. Java实现 LeetCode 623 在二叉树中增加一行(遍历树)

    623. 在二叉树中增加一行 给定一个二叉树,根节点为第1层,深度为 1.在其第 d 层追加一行值为 v 的节点. 添加规则:给定一个深度值 d (正整数),针对深度为 d-1 层的每一非空节点 N, ...

  9. XStrea学习手册

    ​​ 一.前言 1.XStream官网 http://x-stream.github.io 2.XStream是什么 XStream是一个简单的基于Java的类库,用来将Java对象序列化成XML(J ...

  10. HashMap源码解析(java1.8.0)

    1.1 背景知识 1.1.1 红黑树 二叉查找树可能因为多次插入新节点导致失去平衡,使得查找效率低,查找的复杂度甚至可能会出现线性的,为了解决因为新节点的插入而导致查找树不平衡,此时就出现了红黑树. ...