不同类型Trigger的选择

1.SimpleTrigger 一般用于实现每隔一定时间执行任务,以及重复多少次,如每 60 秒执行一次,重复执行 6 次。

问题: (1) 在使用过程中发现设置执行6次其实是执行7次, 有一次是在开始执行的第 0 秒执行了一次, 然后根据执行间隔再执行给定的执行次数。

(2) 当有 misfired 的任务并且恢复执行时,该执行时间是随机的(取决于何时执行 misfired 的任务,例如某天的 6:00PM)。这会导致之后每天的执行时间都会变成 6:00PM,而不是我们原来期望的时间。(PS: 因为这个问题, 我考虑不对外提供SimpleTrigger, 而换用DailyTimeIntervalTrigger)

2. CronTirgger 使用类似于 Linux/Unix 上的任务调度命令 crontab,具体参见Quartz入门详解的Cron表达式。对于涉及到星期和月份的调度,CronTirgger
是最适合的,甚至某些情况下是唯一选择。例如,"00 06 06 ? * WED 2014" 表示2014年每月每个星期三的 06:06AM 执行任务。

3.
DailyTimeIntervalTrigger 会在给定的时间区间内每隔 N(1, 2, 3...)秒或小时执行任务。例如:设置从周一到周五10:10 ~ 18:00每60分钟执行一次。虽然 SimpleTrigger 也能实现类似的任务,但是DailyTimeIntervalTrigger 不会受到上面提到的 misfired 任务的问题。

4.CalendarIntervalTrigger 一般用于处理基于日历时间重复间隔任务。可以处理SimpleTrigger不能处理的任务(如:每个月的间隔秒数不同)和CronTrigger不能处理的任务(如:每5个月不是12的除数)。

除了上面提到的 4 种 Trigger,Quartz 中还定义了一个 Calendar 类(org.quartz.Calendar)。 Calendar 类与 Trigger 一起使用,它是用于排除任务不被执行的情况。例如,按照 Trigger 的规则在 5 月 1
号需要执行任务,但是 HolidayCalendar 指定了 5 月 1 号是法定假节日,所以任务在这一天将不会被执行。当然Calendar类不仅仅提供了节假日的排除, 还有Cron表达式排除等子类实现。

时间: 2024-10-12 09:30:29

不同类型Trigger的选择的相关文章

为不同类型的网站选择最佳的SSL证书(上)

"根据CBS数据分析,2014年,47%美国成年人的个人信息被黑客窃取,大部分主要是通过大公司的数据泄露.如Home Depot,Yahoo和Chase.事件爆发之后,占据57.94%浏览器市场的谷歌迅速启动HTTPS相关的协议,对与不安全的HTTP网站发出新的警告消息. 有相关专家预测,到2019年,全球的网络犯罪成本可能达到2万亿美元,这个数字与过去两年相比,升幅可达3倍.去年,美国政府为了敦促公民使用保护措施,以及Google强烈的硬性体制,要求相对大型的网站必须添加HTTPS协议(又称S

为不同类型的网站选择最佳的SSL证书(下)

SSL证书有多种类型,它们都是使用相同的标准加密方法,以及SSL证书具有三大功能,申请者应先了解SSL证书的类型以及功能,然后结合自身情况,选择合适的证书,部署HTTPS. SSL证书主要分为三大类型以及三大功能 SSL证书的三大类型 类型一:单域型SSL证书(DV SSL证书) 顾名思义,单域名SSL证书只能保护一个域名.这意味着,该类型证书仅可用于单个域名,而相关的子域名不适用,如在"www.trustauth.cn"上使用了单域名SSL证书,那么"mail.trusta

平台中字符类型,人员选择编辑类型介绍

描述:人员选择编辑类型,从平台组织机构中选择人员,将选中的人员相关信息保存到数据库表中.数据库设置示例: 属性设置: 默认值.校验方式.控件宽度.长度.自动填充的属性设置在这里不做介绍,重点介绍参数设置属性的设置:如下图所示:点击参数设置--进入"人员选择的设置"界面 将需要保存到当前数据库表中人员信息在是否存储栏勾选上,同时在存储位置栏设置具体的存储地点 示例效果:  原文地址:http://bbs.delit.cn/thread-1062-1-1.html 转载请注明出处: 撰写人

enum 枚举类型  选择输出

public class xxxxennum : MonoBehaviour { public enum PlayerType{ Soldier,Nurse,BlackSmith } public PlayerType playerType; // Use this for initialization void Start () { SayHello(); } void SayHello(){ switch (playerType) { case PlayerType.Soldier: pri

陈松松:制作视频优先选择这5种类型,总有一个适合你

这是我写的第88篇原创视频营销文章 陈松松,6年视频营销实战经验 万事开头难! 就看谁先能挺住! 很多朋友发现制作视频也有很多类型,不知道选择哪种最适合自己,今天我就跟大家详细分享下,当你学习之后,你根据自己的情况去选择和深入学习,也相当于给了你一个参考方向: 第一种:套视频模板 难度系数:三星 只需要修改文字.替换掉自己的图片,一般这种模板类的视频在10秒-2分钟左右,只要你的视频模板多,都可以制作出非常多的视频. 虽然套视频模板的视频非常简单,任何没有基础的人都可以操作,你用哪种视频软件的模

ANSYS网格划分---单元类型选择及步骤

1. IGES文件将3维模型导入 2. 对于规则的volumns 类型, elements type  选择 brick 8 node 185 global set - size of elments length  k (单位:mm) 3 对与不规则的areas 类型       elements type  选择 shell  3D 8NODES 185 global set - size of elments length  k (单位:mm) 4.   meshing    ->  pi

VB.NET & 策略模式(下机用户类型选择)

上篇文章讲述了对于下机操作和基本数据设定的时间联系,今天主要就是应用"策略模式"来了解了解对于固定用户,以及临时用户之间的选择,看学习设计模式的时候自己对于策略模式的理解,我们可以把固定用户和临时用户封装起来,这样系统就可以按照用户的类型来进行选择了.当然前提首先要抽象一个类,来封装这两个用户类型. 看类图: 代码具体化: 首先看抽象类:BL_CashSuper,定义两种支持算法的公共接口 ''' <summary> ''' 抽象类,定义所有支持算法的公共接口 ''' &l

六、mysql字段类型选择

1.char类型字段会自动删除字符串后面所带的空格,而varchar不会 2.char比varchar快..... 3.myisam 建议 char类型,memory char跟varchar一样,都作为char类型处理:innodb建议 varchar类型 4.optimize table 清理碎片 text碎片产生实例: create table emp (id tinying(1),content text)engine=myisam; 新建测试表 insert into emp valu

10_css选择符类型1.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-