Elastic-Job中的cron表达式妙用

相信大家在平时的工作中,多多少少都会用到分布式job,如Elastic-Job,来定时执行一些任务,比如扫描表,关注某些任务的状态值字段的变更, 或者刷存量数据又或者完成绩效的结算等等。cron表达式可以用来配置job的触发时间。如每天、每小时、每周或每月的特定时间执行任务。

cron表达式的组成

在Elastic-Job中,cron表达式通常由6或7个空格分隔的时间元素组成,按顺序依次为:

  • 秒(0~59)
  • 分钟(0~59)
  • 小时(0~23)
  • 日(1~31,注意月份的天数)
  • 月(0~11 或 JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC)
  • 星期(1~7, 或 SUN,MON,TUE,WED,THU,FRI,SAT)
  • 年(可选,1970~2024)

特殊字符说明

  • *:表示匹配该域的任意值。
  • -:表示范围。
  • ,:表示列出枚举值。
  • /:表示间隔时间触发(开始时间/时间间隔)。
  • ?:表示不指定值,通常用于日和星期字段中的一个,以避免冲突。
  • L:表示最后,是单词“last”的缩写,用于日和星期字段。
  • #:表示该月第n个星期x(x#n),仅用星期域。

最佳实践

  1. 每隔5分钟扫一次订单表 0 0/5 * * * ?
  2. 每周一上午9点开会 0 0 9 ? * MON
  3. 每月的最后一天晚上11点生成下个月的绩效规则 0 0 23 L * ?
  4. 每月的10或15号上午9点发工资 0 0 9 10,15 * ?
  5. 每月的第一个星期一的上午9点进行上个月绩效结算 0 0 9 ? * MON#1
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值