如何设置Repeat Interval参数

技术如何设置Repeat Interval参数如何设置Repeat Interval参数,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 设置

如何设置重复间隔参数,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

设置RepeatInterval

职位和日程安排中REPEAT_INTERVAL参数都是用来控制执行的频率或周期,虽然说周期是一个时间性概念,不过REPEAT_INTERVAL指定的时候并不是一个时间值,而是由一组关键字描述的时间。

除了前面介绍职位和日程安排的REPEAT_INTERVAL参数时,提到该参数拥有频率以及间隔两个关键字,其实除此之外,还有如按月、按星期、按年、按日期等等参数,可以用来进行更精确的定义,比如通过BYMONTH关键字指定调度运行的月份,BYDAY指定调度在哪天运行等等。

REPEAT_INTERVAL参数的详细语法如下:

repeat _ interval=regular _ schedule | combined _ schedule

==============================

正则_计划=频率_子句

[';'间隔_子句][';'按月_子句][';'byweekno _子句]

[';'逐年_子句][';'bydate _子句][';'bymonthday _子句]

[';'byday _子句][';'byhour _子句][';'by分钟_子句]

[';'bysecond _子句][';'bysetpos _子句][';'包含_子句]

[';'排除_子句][";"相交_子句][';'期间_子句]

[';'byperiod _子句]

==============================

组合_ schedule=schedule _ list[';'包含_子句]

[';'排除_子句][";"相交_子句]

频率子句='FREQ''='(预定义的频率|用户定义的频率)

prepared _ frequency=' ANYNAL ' | ' MONTHAL ' | ' WEEKLY ' | ' DAYNAL ' |

小时' | '分钟' | '秒'

用户定义的频率=命名时间表

==============================

间隔_子句='INTERVAL''='intervalnum '

intervalnum=nb

sp;1 through 99

bymonth_clause = "BYMONTH" "=" monthlist

   monthlist = monthday ( "," monthday)*

   month = numeric_month | char_month

   numeric_month = 1 | 2 | 3 ...  12

   char_month = "JAN" | "FEB" | "MAR" | "APR" | "MAY" | "JUN" |

   "JUL" | "AUG" | "SEP" | "OCT" | "NOV" | "DEC"

byweekno_clause = "BYWEEKNO" "=" weeknumber_list

   weeknumber_list = weeknumber ( "," weeknumber)*

   weeknumber = [minus] weekno

   weekno = 1 through 53

byyearday_clause = "BYYEARDAY" "=" yearday_list

   yearday_list = yearday ( "," yearday)*

   yearday = [minus] yeardaynum

   yeardaynum = 1 through 366

bydate_clause = "BYDATE" "=" date_list

   date_list = date ( "," date)*

   date = [YYYY]MMDD [ offset | span ]

bymonthday_clause = "BYMONTHDAY" "=" monthday_list

   monthday_list = monthday ( "," monthday)*

   monthday = [minus] monthdaynum

   monthdaynum = 1 through 31

byday_clause = "BYDAY" "=" byday_list

   byday_list = byday ( "," byday)*

   byday = [weekdaynum] day

   weekdaynum = [minus] daynum

   daynum = 1 through 53 /* if frequency is yearly */

   daynum = 1 through 5  /* if frequency is monthly */

   day = "MON" | "TUE" | "WED" | "THU" | "FRI" | "SAT" | "SUN"

byhour_clause = "BYHOUR" "=" hour_list

   hour_list = hour ( "," hour)*

   hour = 0 through 23

byminute_clause = "BYMINUTE" "=" minute_list

   minute_list = minute ( "," minute)*

   minute = 0 through 59

bysecond_clause = "BYSECOND" "=" second_list

   second_list = second ( "," second)*

   second = 0 through 59

bysetpos_clause = "BYSETPOS" "=" setpos_list

   setpos_list = setpos ("," setpos)*

   setpos = [minus] setpos_num

   setpos_num = 1 through 9999

==============================

include_clause = "INCLUDE" "=" schedule_list

exclude_clause = "EXCLUDE" "=" schedule_list

intersect_clause = "INTERSECT" "=" schedule_list

schedule_list = schedule_clause ("," schedule_clause)*

schedule_clause = named_schedule [ offset ]

named_schedule = [schema "."] schedule

periods_clause = "PERIODS" "=" periodnum

byperiod_clause = "BYPERIOD" "=" period_list

period_list = periodnum ("," periodnum)*

periodnum = 1 through 100

==============================

offset = ("+" | "-") ["OFFSET:"] duration_val

span = ("+" | "-" | "^") "SPAN:" duration_val

duration_val = dur-weeks | dur_days

dur_weeks = numofweeks "W"

dur_days = numofdays "D"

numofweeks = 1 through 53

numofdays = 1 through 376

  • minus = "-"

  •   这个语法形式看起来复杂无比,其实实用起来很简单,之所以看起来复杂,是因为其功能太过灵活(之前的三思系列笔记中,已经阐述过灵活与复杂的关系),这里不准备逐条解释每一个语法细节,下面将着重通过一些常用设置,希望能够更有助于广大同仁的理解。

      例如:设置任务仅在周5的时候运行:

      REPEAT_INTERVAL => 'FREQ=DAILY; BYDAY=FRI';

      REPEAT_INTERVAL => 'FREQ=WEEKLY; BYDAY=FRI';

    • REPEAT_INTERVAL => 'FREQ=YEARLY; BYDAY=FRI';

      上述三条语句虽然指定的关键字小有差异,不过功能相同。

      设置任务隔一周运行一次,并且仅在周5运行:

    • REPEAT_INTERVAL => 'FREQ=WEEKLY; INTERVAL=2; BYDAY=FRI';

      设置任务在当月最后一天运行:

    • REPEAT_INTERVAL => 'FREQ=MONTHLY; BYMONTHDAY=-1';

      设置任务在3月10日运行:

    • REPEAT_INTERVAL => 'FREQ=YEARLY; BYMONTH=MAR; BYMONTHDAY=10';
      REPEAT_INTERVAL => 'FREQ=YEARLY; BYDATE=0310';

      上述两条语句功能相同。

      设置任务每10隔天运行:

    • REPEAT_INTERVAL => 'FREQ=DAILY; INTERVAL=10';

      设置任务在每天的下午4、5、6点时运行:

    • REPEAT_INTERVAL => 'FREQ=DAILY; BYHOUR=16,17,18';

      设置任务在每月29日运行:

    • REPEAT_INTERVAL => 'FREQ=MONTHLY; BYMONTHDAY=29';

      设置任务在每年的最后一个周5运行:

    • REPEAT_INTERVAL => 'FREQ=YEARLY; BYDAY=-1FRI';

      设置任务每隔50个小时运行:

    • REPEAT_INTERVAL => 'FREQ=HOURLY; INTERVAL=50';

      另外,你是否在怀念常规job中设置interval的简便,虽然功能较弱,但是设置操作非常简单,无须懊恼,其实SCHEDULER中的REPEAT_INTERVAL也完全可以按照那种方式设置,前面都说了,REPEAT_INTERVAL实际上是指定周期,直接指定一个时间值,当然也是周期喽。

      比如说,设置任务每天执行一次,也可以设置REPEAT_INTERVAL参数值如下:

    • REPEAT_INTERVAL => 'trunc(sysdate)+1'

      又比如设置任务每周执行一次:

    • REPEAT_INTERVAL => 'trunc(sysdate)+7'

      不过需要注意,这种方式仅用于创建SCHEDULER中jobs时使用,不能用于schedule。

    看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

    内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/86577.html

    (0)

    相关推荐

    • 业内首款云原生技术中台产品云原生 Stack 来了!

      技术业内首款云原生技术中台产品云原生 Stack 来了! 业内首款云原生技术中台产品云原生 Stack 来了!云原生 Stack 满足了各种典型场景下客户对于线下高集成平台的诉求,让企业数字化转型不受技

      礼包 2021年10月28日
    • 名字的意义,大家来说说自己名字的含义

      技术名字的意义,大家来说说自己名字的含义先说我头条号的名字名字的意义:树德汉硕,这是我父子名合到一起的名字。我姓口天吴,父叫树德,我叫汉硕。树汉是排辈字,我祖排辈上下排辈是:……超瑞世毓树汉裕厚发宗光……,我儿是裕字辈。

      生活 2021年10月29日
    • 去除衣服霉点小妙招,怎样去除衣服上面的霉点

      技术去除衣服霉点小妙招,怎样去除衣服上面的霉点家里长期存放的衣服上面都会有或大或小的霉斑,可以用以下方法去除去除衣服霉点小妙招:1、棉线衣服出现霉斑时,用绿豆芽在有霉斑的地方反复揉搓,并用清水漂洗干净,霉斑就会消除。丝绸

      生活 2021年10月21日
    • 如何进行MySQL权限提升及安全限制绕过漏洞

      技术如何进行MySQL权限提升及安全限制绕过漏洞这篇文章将为大家详细讲解有关如何进行MySQL权限提升及安全限制绕过漏洞,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。My

      攻略 2021年11月17日
    • 如何理解Mybatis源码

      技术如何理解Mybatis源码本篇内容介绍了“如何理解Mybatis源码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!为

      攻略 2021年10月22日
    • qt 场景视图画地图(qt图片绘制区域得到点坐标)

      技术Qt如何编写地图实现省市区域图这篇文章主要介绍了Qt如何编写地图实现省市区域图,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、前言省市区域图也可以叫

      攻略 2021年12月20日