• 【定时任务】cron表达式总结


     cron表达式用于配置cronTrigger的实例,在定时任务中会用到cron表达式。cron表达式实际上是由七个子表达式组成。这些表达式之间用空格分隔。

    可通过工具校验:http://cron.qqe2.com/
    一、cron表达式结构
    1.Seconds (秒)
    2.Minutes(分)
    3.Hours(小时)
    4.Day-of-Month (天)
    5.Month(月)
    6.Day-of-Week (周)
    7.Year(年)

    二、各字段的含义
    (1)*:表示匹配域的任意值。假如在Minutes域中使用*,表示每分钟都会触发。
    0 * 9 * * ? 表示每天从9点开始,每分钟触发一次,运行一个小时

    (2)?:只能用在DayofMonth和DayofWeek两个域,指没有具体的值。当着两个表达式其中一个被指定后,为了避免冲突,需要将另一个值设为?。例如:想在每月20日触发调度,不管20号是星期几,只能用如下写法:0 0 0 20 * ?,其中最后以为只能用“?”,而不能用“*”。
    0 0 0 20 * ? 表示每个月20号触发
    0 0 0 ? * WED 表示每个星期三触发
    0 0 0 ? * 4 表示每个星期三触发
    (3),:表示枚举值。
    0 0 0 1,20 * ? 表示在每月的1号、20号触发
    (4)-:表示指定范围。
    0 0 0 1-20 * ? 表示每个月的1号到20号触发
    (5)/:被用于指定增量。
    0 15/30 0 20 * ? 从每月20号的0点15分运行,每隔30分钟触发一次

    6)L:只能出现在DayofMonth和DayofWeek域。在DayofMonth使用L,表示每月最后一天触发,在DayofWeek使用
    0 0 0 L * ? 表示每个月的最后一天触发
    0 0 0 ? * L 表示每个星期六触发
    0 0 0 ? * 7L 表示每个月的最后一个星期六触发
    (7)W:表示有效工作日(周一到周五)。只能出现在DayofMonth,配合指定日期使用。系统将在指定日期的最近的有效工作日触发。例如:在 DayofMonth使用5W,如果5日是星期六,则将在最近的工作日:星期五,即4日触发。如果5日是星期天,则在6日(周一)触发;如果5日在星期一到星期五中的一天,则就在5日触发。另外一点,W的最近寻找不会跨过月份 。
    0 0 0 5W * ? 表示在每月5号最近的一个有效工作日触发
    0 0 0 LW * ? 表示在每个月的最后一天最近的有效工作日
    (8)#:用于第几个星期几,只能在DayofWeek中使用
    0 0 0 ? * 4#2 表示每个月的第二个星期三触发

  • 相关阅读:
    CF1284G
    5-3 Harbor高可用部署 下
    5业务系统迁移kubernetes-----准备工作(平稳迁移做好准备)
    题解-CF1453F Even Harder
    题解-CF961F k-substrings
    Docker 数据卷容器(实现两个或多个容器间数据同步)
    Docker 具名和匿名挂载
    Java-IO中的节点流和处理流
    《机器学习十讲》学习报告二
    rpc基本思路
  • 原文地址:https://www.cnblogs.com/yangyh11/p/9958151.html
Copyright © 2020-2023  润新知