全局定时更新

编辑
文档创建者:夏娃 (67727 )     浏览次数:1863次     编辑次数:11次     最近更新:doreen0813 于 2018-03-26     

目录:

1、版本编辑

FineBI  
4.1


2、描述编辑

全局更新时,我们除了可以手动更新,还可以进行定时更新。进入数据配置>Fineindex更新,可以对Fineindex进行全局更新设置。点击定时设置,则会出现设置界面新增定时更新任务,该定时更新可以设置任务名称、开始时间、执行频率和结束时间字段,如下图:

2.1 开始时间

任务名称可自定义设置(且同类型更新任务不能重名),开始和结束的时间粒度可细化到时分秒。

注:开始时间和结束时间是指更新任务开始和结束的时间,并不是指全局更新的时间。

2.2 执行频率

执行频率包含了四种,如下图所示:


只执行一次

只执行一次表示该定时更新任务只在设置的开始时间开始执行一次全局更新,执行结束时间无需设置。

简单重复执行

选择简单重复执行则可进行简单的间隔时间设置,包含分钟、小时、天、周四种时间间隔粒度,如下图:

而简单重复执行频率的结束时间则包含了三种,包括:无限期、设定结束时间和额外重复执行次数:

无限期即表示无结束时间,定时更新任务会一直定时执行;设定结束时间则可以与开始时间一样设置到年月日时分秒;

额外重复执行次数则是指在设置的开始时间执行了定时任务之后会在间隔时间达到后再执行任务的次数,可手动设置次数。

明细频率设置

选择明细频率设置可进行细化的间隔时间设置,如下图,包含了细化到时分的执行时间和执行日、执行月设置。

执行时间是指执行全局更新的时间;执行日可选每天、每周和每月,其中每周可在周一至周日之间单选或多选,每月可在1号到31号之间单选或多选;执行月可在一年中的1月到12月单选或多选。

执行频率选择明细频率设置后,任务结束时间只能选择两种:无限期或设定结束时间,其设置与上述类似。

表达式设定

选择表达式设定即指设定一些特定时间的更新频率,其中预置表达式包含五种,如下图:

也可以进行自定义的表达式设置,填入时间频率的Cron表达式,需填写正确的表达式才能进行定时更新,Cron表达式的详细使用方法可参考下面2.3章节。

结束时间同样只能选择无限期或者设定结束时间,可根据需要设置。 设定完成以后点击确定保存,若想要添加多个全局定时更新任务,则再次点击添加任务。

若想要修改或删除已添加的任务,在任务列表的任务后面单击对应编辑或删除图标即可。

2.3 Cron表达式

Cron表达式为一个字符串,由5或6个空格隔开,分为6或7个域,每一个域代表一个时间范围。Cron有如下两种语法格式: 

1) Seconds Minutes Hours DayofMonth Month DayofWeek Year

2) Seconds Minutes Hours DayofMonth Month DayofWeek

从左到右(用空格隔开):秒 分 小时 月份中的日期 月份 星期中的日期 年份(可选)。

每一个域可出现的字符如下: 

允许值  允许的特殊字符
  秒(Seconds)  0~59的整数  , - * /    四个字符
  分(Minutes)  0-59的整数  , - * /    四个字符
  小时(Hours)  0-23的整数  , - * /    四个字符
  日期(DayofMonth)  0-31的整数(但是需要考虑月的天数)  ,- * ? / L W C     八个字符
  月份(Month)  1-12的整数或英文JAN-DEC  , - * /    四个字符
  星期(DayofWeek)  1-7的整数或英文SUN-SAT(1=SUN, 2=MON,...)  , - * ? / L C #     八个字符
  年份(Year)  1970-2099 , - * /    四个字符


特殊字符

每一个域除了使用数字还可以出现特殊字符,其中特殊字符的含义如下: 

(1):表示匹配该域的任意值,假如在Minutes域使用*,即表示每分钟都会触发事件;

(2)? :只能用在DayofMonth(日期)和DayofWeek(星期)两个域。它也匹配域的任意值,但实际不会。因为DayofMonth和 DayofWeek会相互影响。例如想在每月的20日触发调度,不管20日到底是星期几,则只能使用如下写法: 13 13 15 20 * ?,其中最后一位只能用?,而不能使用*,如果使用*表示不管星期几都会触发,实际上并不是这样;

(3)- :表示范围,例如在Minutes域使用5-20,表示从5分到20分钟每分钟触发一次;

(4)/ :表示起始时间开始触发,然后每隔固定时间触发一次,例如在Minutes域使用5/20,则意味着5分钟触发一次,而25,45等分别触发一次; 

(5), :表示列出枚举值。例如:在Minutes域使用5,20,则意味着在5和20分每分钟触发一次。

(6)L:该字符只在DayofMonth(日期)DayofWeek(星期)域中使用,代表“Last”的意思,但它在两个字段中意思不同。L在日期字段中,表示这个月份的最后一天,如一月的31号,非闰年二月的28号;如果L用在星期中,则表示星期六,等同于7。但是,如果L在前面有一个数值X,它就具有其他含义了。例如,月份中的6L表示该月的倒数第六天;星期域中的FRIL表示这个月的最后一个星期五。

(7)W:该字符只能出现在DayofMonth(日期)域里,是对前导日期的修饰,表示离该日期最近的工作日。例如15W表示离该月15号最近的工作日,如果该月15号是星期六,则匹配14号星期五;如果15日是星期日,则匹配16号星期一;如果15号是星期二,那结果就是15号星期二。但必须注意关联的匹配日期不能够跨月,如你指定1W,如果1号是星期六,结果匹配的是3号星期一,而非上个月最后的那天。W字符串只能指定单一日期,而不能指定日期范围;

(8)LW:在DayofMonth字段可以组合使用LW,它的意思是当月的最后一个工作日;

(9)C:该字符只在DayofMonth(日期)DayofWeek(星期)域中使用,代表“Calendar”的意思。它的意思是计划所关联的日期,如果日期没有被关联,则相当于日历中所有日期。例如:5C在日期字段中就相当于日历5日以后的第一天;1C在星期字段中相当于星期日后的第一天;

(10)#:该字符只能在DayofWeek(星期)域中使用,表示当月某个工作日。如6#3表示当月的第三个星期五(6表示星期五,#3表示当前的第三个);而4#5表示当月的第五个星期三,假设当月没有第五个星期三,忽略不触发;

示例

Cron表达式示例:

每隔5秒执行一次:*/5 * * * * ?

每隔1分钟执行一次:0 */1 * * * ?

每隔1小时执行一次:0 0 */1 * * ?

每天23点执行一次:0 0 23 * * ?

每天凌晨1点执行一次:0 0 1 * * ?

每月1号凌晨1点执行一次:0 0 1 1 * ?

在26分、29分、33分执行一次:0 26,29,33 * * * ?

每天的0点、13点、18点、21点都执行一次:0 0 0,13,18,21 * * ?

根据上面的表达式规则获取Cron表达式以后,可参考链接http://www.pppet.net/检查写的表达式是否正确,确保正确以后填入。




附件列表


主题: 数据配置
标签: 暂无标签 编辑/添加标签
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,请咨询帆软技术支持
关于技术问题,您还可以通过帆软论坛获取帮助,论坛上有非常多的大神,有些水平比帆软工程师还要高哦。
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

本文档是否有用?