zoukankan      html  css  js  c++  java
  • Quartz中Cron详解

    Quartz中的cron跟Linux系统的cron定义不太一样(Linux从分开始)

     特殊字符:

    • * 用来表示包含一个范围内的任意值. 例如, 分钟位置的“*” 表示 “每分钟”.

    • ?  当不特定指代某些值时使用,比如如果是每月10日,这种情况并不关心这个10日是一周的哪一天,就放 ?在周的位置上- 描述范围,比如, 小时位“10-12” 表示 “10点, 11点 和12点”- 描述范围,比如, 小时位“10-12” 表示 “10点, 11点 和12点”

    • -  描述范围,比如, 小时位“10-12” 表示 “10点, 11点 和12点”

    • 并列的情况,比如, 周位“MON,WED,FRI” 表示 “周一,周三,周五”.

    • /  描述增量, 比如, 秒位 “0/15” 表示 “第0秒, 15秒, 30秒, 和 45秒”.  而 “5/15” 表示 “第5秒, 20秒, 35秒, 和50秒”. 也可以用“-”代替0.  日位 ‘1/3’ 表示“从当月1日开始,每隔三天”.

    • L  最后的, 用于日位置表示该月最后一天. 当用于周位置时,若单独用,  表示“7” 或者 “SAT”(星期六);若前面带其它,, it means “the last xxx day of the month” - 比如 “6L” means “这个月最后一个周五”. 也可以用来表示一个月最后几天, 比如 “L-3” 表示当月最后三天. 

    • W (工作日) -  用来描述某日最近(包含当日)的工作日(周一到周五),注意不能跨月。 
      The 'L' and 'W' characters can also be combined in the day-of-month field to yield 'LW', 
      'LW'可组合用于日位,意思是当月最后一个工作日
    • # (月的第几个周x) 例如, 周位“6#3” 表示 “当月的第三个周五”  ;注意如果超出月范围,则不会触发job
      月和周的缩写大小写不敏感:MON和mon一样 

    示例:

     

     注:对于无法用cron实现的情况,可以在代码中额外判断(比如每月的倒数第几天,可以cron设置为每天,程序中判断是否是该月倒数第几天)

    参考:

    http://www.quartz-scheduler.org/documentation/quartz-2.1.x/tutorials/crontrigger.html

    ---栖息之鹰(一个外表懒洋洋的内心有激情的程序员) 此博客为笔者原著,转载时请注明出处,谢谢!
  • 相关阅读:
    lua "Hello, world!"[转]
    用16进制编辑器编写一个DLL文件【转自看雪】
    Lua脚本语言入门(目前魔兽使用的可以写在宏内的语言)转自中国Lua开发者
    some tips about web hacking
    DevCpp/Mingw32/GCC专栏
    .NET中的幕后英雄MSCOREE.dll [转]
    手写可执行程序[ 转自看雪]
    VC下编译lua和luabind[转]
    简论程序是如何动态修改内存或指令的【转自看雪】
    一些链接(转仅供收藏)
  • 原文地址:https://www.cnblogs.com/roostinghawk/p/8124939.html
Copyright © 2011-2022 走看看