Cron表达式、定时任务

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

  • Cron表达式。但这个表示式本身就够复杂了。下面会有说明。

例子:

cronSchedule("0 0/2 8-17 * * ?") // 每天8:00-17:00,每隔2分钟执行一次.build();cronSchedule("0 30 9 ? * MON") // 每周一,9:30执行一次
.build();weeklyOnDayAndHourAndMinute(MONDAY,9, 30) //等同于 0 30 9 ? * MON .build();

Cron表达式

位置时间域允许值特殊值
10-59, - * /
2分钟0-59, - * /
3小时0-23, - * /
4日期1-31, - * ? / L W C
5月份1-12, - * /
6星期1-7, - * ? / L C #
7年份(可选)1-31, - * /

星号():可用在所有字段中,表示对应时间域的每一个时刻,例如, 在分钟字段时,表示“每分钟”;

问号(?):该字符只在日期和星期字段中使用,它通常指定为“无意义的值”,相当于点位符;

减号(-):表达一个范围,如在小时字段中使用“10-12”,则表示从10到12点,即10,11,12;

逗号(,):表达一个列表值,如在星期字段中使用“MON,WED,FRI”,则表示星期一,星期三和星期五;

斜杠(/):x/y表达一个等步长序列,x为起始值,y为增量步长值。如在分钟字段中使用0/15,则表示为0,15,30和45秒,而5/15在分钟字段中表示5,20,35,50,你也可以使用*/y,它等同于0/y;

L:该字符只在日期和星期字段中使用,代表“Last”的意思,但它在两个字段中意思不同。L在日期字段中,表示这个月份的最后一天,如一月的31号,非闰年二月的28号;如果L用在星期中,则表示星期六,等同于7。但是,如果L出现在星期字段里,而且在前面有一个数值X,则表示“这个月的最后X天”,例如,6L表示该月的最后星期五;

W:该字符只能出现在日期字段里,是对前导日期的修饰,表示离该日期最近的工作日。例如15W表示离该月15号最近的工作日,如果该月15号是星期六,则匹配14号星期五;如果15日是星期日,则匹配16号星期一;如果15号是星期二,那结果就是15号星期二。但必须注意关联的匹配日期不能够跨月,如你指定1W,如果1号是星期六,结果匹配的是3号星期一,而非上个月最后的那天。W字符串只能指定单一日期,而不能指定日期范围;

LW组合:在日期字段可以组合使用LW,它的意思是当月的最后一个工作日;

井号(#):该字符只能在星期字段中使用,表示当月某个工作日。如6#3表示当月的第三个星期五(6表示星期五,#3表示当前的第三个),而4#5表示当月的第五个星期三,假设当月没有第五个星期三,忽略不触发;

C:该字符只在日期和星期字段中使用,代表“Calendar”的意思。它的意思是计划所关联的日期,如果日期没有被关联,则相当于日历中所有日期。例如5C在日期字段中就相当于日历5日以后的第一天。1C在星期字段中相当于星期日后的第一天。

Cron表达式对特殊字符的大小写不敏感,对代表星期的缩写英文大小写也不敏感。

一些例子:

表示式说明
0 0 12 * * ?每天12点运行
0 15 10 ? * *每天10:15运行
0 15 10 * * ?每天10:15运行
0 15 10 * * ? *每天10:15运行
0 15 10 * * ? 2008在2008年的每天10:15运行
0 * 14 * * ?每天14点到15点之间每分钟运行一次,开始于14:00,结束于14:59。
0 0/5 14 * * ?每天14点到15点每5分钟运行一次,开始于14:00,结束于14:55。
0 0/5 14,18 * * ?每天14点到15点每5分钟运行一次,此外每天18点到19点每5钟也运行一次。
0 0-5 14 * * ?每天14:00点到14:05,每分钟运行一次。
0 10,44 14 ? 3 WED3月每周三的14:10分到14:44,每分钟运行一次。
0 15 10 ? * MON-FRI每周一,二,三,四,五的10:15分运行。
0 15 10 15 * ?每月15日10:15分运行。
0 15 10 L * ?每月最后一天10:15分运行。
0 15 10 ? * 6L每月最后一个星期五10:15分运行。
0 15 10 ? * 6L 2007-2009在2007,2008,2009年每个月的最后一个星期五的10:15分运行。
0 15 10 ? * 6#3每月第三个星期五的10:15分运行。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/449777.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【转载】ASP.NET自定义404和500错误页面

在ASP.NET网站项目实际上线运行的过程中,有时候在运行环境下会出现400错误或者500错误,这些错误默认的页面都不友好,比较简单单调,其实我们可以自行设置这些错误所对应的页面,让这些错误跳转到我们指定的路径。此文将介…

年薪15万的80后小本科:只要6分钟,告诉你少走6年弯路

这个社会是很残酷的,尤其是对于那些刚刚步入社会的80后而言。当很多人都在抱怨这个社会竞争压力太大、没有自己的追求,并因此而丧失斗志的时候,一个年薪15W的80后小本却发出了这个的感慨,“一个人的成就,与岁月无关&am…

Google Go Programming In Eclipse

http://www.tutorialsavvy.com/2013/04/google-go-programming-in-eclipse.html/ Google Go Programming In Eclipse The new “Go” programming language is from Google co.It has many features better then other languages.Go language features are:-– High Speed Comp…

pycharm打开ipynb显示为文本格式解决办法

然后进入 添加类型 jupyter notebook 然后下方添加 *.ipynb

quartz各版本MySQL数据库存储建表SQL语句

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 用quartz管理任务计划很方便,但是当使用数据库作为存储介质的时候,必须要先创建表,不然就会报错。1.…

[基础篇]ESP32-RTOS-SDK教程(一)之Windows环境搭建

当下正是物联网最好的时代,学习新的技术怎么能只学习ESP8266呢?要知道ESP8266还有一个孪生兄弟呢,最重要的是这个孪生兄弟要比ESP8266是更厉害的,所以我们也是非常有必要学习一下的,其实这篇文章去年就已经写了&#x…

对话Linus Torvalds:大多黑客甚至连指针都未理解

摘要:Linus Torvalds坦言那些狡诈的通过文件名查找高速缓存,然后又抱怨自己能力一般的内核“恶魔”才是他欣赏的;相反,很多人连低水平的内核编程都还没学好。 几周前, Linus Torvalds在Slashdot上回答了一些问题。其中…

总结学习(提纲)

之前在私募做期权量化学习了那么久,趁着毕业找工作这段时间,对之前学习的东西,制作的函数等进行一个系统性的总结,顺便每天更新的时候,记录下自己的体重与波比跳次数。 1.MC的学习与策略编写 2.python基础学习资料的…

安卓系统上的远程 JS 调试 Remote JavaScript Debugging on Android

每当在 Android 移动设备上调试网页时,开发人员往往都会不自觉陷入调试的泥潭中去。《Android开发指南》提供了一个解决方案,却有点繁琐复杂。因此,许多 Web 开发人员会倾向于使用类似 Firefox Firebug 的或像 WebKit 的 Web Inspector 之类的…

js关于表单校验完善

<!DOCTYPE html><html> <head> <meta charset"UTF-8"> <title>注册页面</title> <style type"text/css"> .left{ width: 100px; …

Python高效编程技巧

摘要&#xff1a;作者有多年的Python编程经验&#xff0c;并且有很多的编程小技巧和知识&#xff0c;其中大多数是通过阅读很流行的开源软件&#xff0c;如Django, Flask, Requests中获得的。 我已经使用Python编程有多年了&#xff0c;即使今天我仍然惊奇于这种语言所能让代码…

quartz 任务调试 建表 sql 语句、create table语句

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 DROP TABLE IF EXISTS QRTZ_FIRED_TRIGGERS; DROP TABLE IF EXISTS QRTZ_PAUSED_TRIGGER_GRPS; DROP TABLE IF EXISTS QRTZ_SCHEDUL…

关于ttk的使用与安装

ttk是tkinter中的子模块&#xff0c;在python2.x中是作为独立模块。但是在python3.x中则是成为了tkinter的子模块&#xff0c;因此调用时&#xff0c;转变为 from Tkinter import ttk

SEO艺术

SEO艺术 编辑推荐 在本书中&#xff0c;四位搜索引擎优化&#xff08;SEO&#xff09;领域最受瞩目的专家阐述了制订以及执行一个完善的SEO策略时应遵循的一些实用指南与最新技术。 基本信息 原书名&#xff1a; The Art of SEO原出版社&#xff1a; OReilly作者&#xff1a; (…

ActiveMQ支持的传输协议

连接到ActiveMQ Connector:ActiveMQ提供的&#xff0c;用来实现连接通信的功能。包括:client-to-broker、broker-to-broker。ActiveMQ允许客户端使用多种协议来进行连接。 client-to-broker模式一般是配置文件中的transportConnector配置 broker-to-broker:一般是指网络(networ…

http状态码301和302详解及区别

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 一直对http状态码301和302的理解比较模糊&#xff0c;在遇到实际的问题和翻阅各种资料了解后&#xff0c;算是有了一定的理解。这里记录下…

哪些编程语言需要修复?

摘要&#xff1a;编程语言有十全十美的吗&#xff1f;每种语言都有缺陷吗&#xff1f;这不&#xff0c;Java、C、C、Python都中枪了。语言之间也可相互“掐架”&#xff0c;一起来看下。 原文作者Kevin Kelleher采用一种比较新颖的方式来比较编程语言&#xff1a;即描述每个编程…

时间修改,学习

设定时间格式 import datetime print datetime.datetime.now().strftime("%Y-%m-%d %H:%M") # 2018-05-08 16:54 时间增加 import datetime print (datetime.datetime.now()datetime.timedelta(days1)).strftime("%Y-%m-%d %H:%M:%S") days改为hours m…

Python标准库

《Python标准库》基本信息原书名&#xff1a; The Python Standard Library by Example 原出版社&#xff1a; Pearson Education 作者&#xff1a; (美)Doug Hellmann 译者&#xff1a; 刘炽 出版社&#xff1a;机械工业出版社 ISBN&#xff1a;9787111378105上架时间&#xf…

五种世界顶级思维-20190303

一、墨菲定律&#xff1a; 你越害怕什么&#xff0c;就越会发生什么。 二、吉尔伯特定律&#xff1a;工作中最大的困难就是没人跟你说如何去做。 三、吉德林法则&#xff1a;把问题清楚的写下来&#xff0c;就已经成功一半了。 四、沃尔森法则&#xff1a;把信息和金钱排在第一…