SpringQuartz定时任务的cron表达式书写

53 篇文章 0 订阅
17 篇文章 1 订阅

分享一个人工智能教程,零基础入门!http://www.captainbed.net/inner

SpringQuartz定时任务的使用,要配置这个定时任务什么时候执行,周期是多少,周期内执行多少次,这个都是cron表达式来控制的,下面详解一下这个cron表达式。

一、先来举些例子

【1】0 0 10,14,16  *  *  ? 每天上午10点,下午2点,4点
【2】0 0/30 9-17 * * ? 朝九晚五工作时间内每半小时
【3】0 0 12 ? * WED  表示每个星期三中午12点
【4】0 0 12 * * ? 每天12点触发 
【5】0 15 10 ? * * 每天10点15分触发 
【6】0 15 10 * * ? 每天10点15分触发 
【7】0 15 10 * * ? * 每天10点15分触发 
【8】0 15 10 * * ? 2005 2005年每天10点15分触发 
【9】0 * 14 * * ? 每天下午的 2点到2点59分每分触发 
【10】0 0/5 14 * * ? 每天下午的 2点到2点59分(整点开始,每隔5分触发) 
【11】0 0/5 14,18 * * ? 每天下午的 2点到2点59分、18点到18点59分(整点开始,每隔5分触发) 
【12】0 0-5 14 * * ? 每天下午的 2点到2点05分每分触发 
【13】0 10,44 14 ? 3 WED 3月每周三下午的 2点10分和2点44分触发 
【14】0 15 10 ? * MON-FRI 从周一到周五每天上午的10点15分触发 
【15】0 15 10 15 * ? 每月15号上午10点15分触发 
【16】0 15 10 L * ? 每月最后一天的10点15分触发 
【17】0 15 10 ? * 6L 每月最后一周的星期五的10点15分触发 
【18】0 15 10 ? * 6L 2002-2005 从2002年到2005年每月最后一周的星期五的10点15分触发 
【19】0 15 10 ? * 6#3 每月的第三周的星期五开始触发 
【20】0 0 12 1/5 * ? 每月的第一个中午开始每隔5天触发一次 
【21】0 11 11 11 11 ? 每年的11月11号 11点11分触发(光棍节)

二、cron表达式格式

corn表达式格式为七个域,如:
秒 分 时 日 月 周 年
每一个域之间空格隔开,不指定“年”域时,年域可省略不写,如:
秒 分 时 日 月 周

三、cron表达式七个域列表

####注意####:需要注意的是“周”域中,使用数值表示时,7表示周六,1表示周日 

四、符号使用说明

1、所有域均可用“,”,“-”,“*”,“/”
【1】,    x,y表示x和y
【2】-    x-y表示x到y
【3】   表示每TIME
【4】/    x/y表示从x起,每隔y

2、“日”域另有“?”,“L”,“W”,“C”
【1】?    表示不指定“日”域的值。规则是指定“周”域,则“日”域必须为“?”。反之,指定“日”域,则“周”域必须为“?”。如0 0 12 ? * MON 或 0 0 12 1 * ?
【2】L    2种写法。一,表示月末几天,如2L, 表示月末的2天。二,表示月末倒数第几天,如L-3,表示月末倒数第3天。
【3】   表示临近某日的工作日,如15W,表示最接近15号的工作日,可能是15号(刚好是工作日)、15号前(刚好周六)或15号后(刚好周日)。
【4】   表示和Calendar计划关联的值,如1C表示,1日或1日后包括Carlendar的第一天。
【5】LW    L和W的组合,只能出现在"日"域中。表示某月最后一个工作日,不一定是周五(详细见结尾PS)。

3、“周”域另有“?”,“L”,“#”,“C”
【1】?    表示不指定“周”域。规则是指定“日”域值,则“周”域值必须为“?”。反之,指定“周”域值,则“日”域值必须为“?”。如0 0 12 1 * ? 或 0 0 12 ? * MON
【2】L    表示某月的最后一个周几,如1L, 表示某月的最后一个周日(1表示周日),7L,表示某月的最后一个周六(7表示周六)。
【3】   只能出现在"周"域中,表示第几个周几,x#y,y表示第几个,x表示周的值,如6#2,表示第2个周五(6表示周五)。
【4】C    表示和Calendar计划关联的值,如1C表示,周日或周日后包括Carlendar的第一天。

####注意####
“日域”域中,L和W组合为“LW”时,网上有很多种定义,比如:
说法一:LW表示某月的最后一个工作日
说法二:LW某月最后一周的最后一个工作日,即周五 

五、附上cron表达式生成工具

1、cron表达式在线生成工具http://www.pppet.net/

 

 

  • 8
    点赞
  • 81
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
cron表达式是用于定义定时任务调度的一种时间表达式。在Vue中,可以使用vue-quartz插件来实现定时任务的调度。 首先,需要在项目中安装vue-quartz插件。可以通过npm或yarn进行安装: ``` npm install vue-quartz ``` 或 ``` yarn add vue-quartz ``` 安装完成后,在Vue的入口文件main.js中引入并注册vue-quartz插件: ```javascript import Vue from 'vue'; import VueQuartz from 'vue-quartz'; Vue.use(VueQuartz); ``` 接下来,在需要定义定时任务的组件中,使用`<cron>`标签来设置cron表达式: ```vue <template> <div> <h1>定时任务</h1> <cron v-model="cronExpression" @change="handleCronChange"></cron> </div> </template> <script> export default { data() { return { cronExpression: '' }; }, methods: { handleCronChange(cronExpression) { // 在这里可以处理cron表达式的变化,并执行相应的操作 console.log('cron表达式变化:', cronExpression); } } }; </script> ``` 在上面的示例中,通过`v-model`指令将cron表达式绑定到组件的data属性`cronExpression`上,并通过`@change`事件监听cron表达式的变化。 当用户在页面上选择或输入cron表达式时,`handleCronChange`方法会被调用,并传入新的cron表达式。在该方法中可以根据cron表达式执行相应的定时任务逻辑。 请注意,以上只是一个简单的示例,具体的定时任务逻辑需要根据实际需求进行实现。同时,需要了解cron表达式的语法规则和含义,以确保正确设置定时任务执行时间。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值