当前位置:网站首页>【Cron】学习:cron 表达式
【Cron】学习:cron 表达式
2022-08-11 05:12:00 【sco5282】
不知道你在玩游戏的时候是否发现过以下情况:
- 玩某些游戏的时候,发现他的排行榜并不是时时更新的,而是每半个小时,或者一个小时更新一次。
- 又比如很火的王者荣耀手游,它的日常任务,都是每天5点进行更新。
那么,这些时间控制,到底是由谁控制得如此精准呢?原来,这些都是corn表达式的功劳。
1. 了解 Cron 表达式
cron 表达式:由 若干数字、空格、符号 按一定的规则组成的一组字符串,从而表达时间的信息。类似于正则表达式。
cron 表达式结构
这个 cron 表达式字符串被 6 个空格分成了 7 个部分,标准格式:A B C D E F G
。含义如下:
A 表示秒;B 表示分;C 表示小时;D 表示日;E 表示月;F 表示星期;G 表示年
cron 表达式中的 “G” 是可加可不加的,用得比较少,可以省略的。
2. Cron 表达式案例
cron="0 */5 * * * ?"
:它的秒位为 0,表示每个 0 秒,分位为 */5,意思是每 5 分钟。所以总的来说,就是每 5 分钟(每5分0秒)时执行一次;cron="0 30 8,10,12 * * ?"
:它的秒位为0,分位为30,时位为一串集合,则它的意思是每天 8点半、10点半、12点半各执行一次;cron="0 0 */1 * * ?"
:它就是每个小时整点执行一次cron="0 0 9-18 * * MON-FRI"
:周一到周五的早上9点到晚上6点cron="0 0 14 L * ?"
:每个月最后一天,下午2点
3. Cron 表达式特殊字符
cron 表达式字符
- *:代表所有可能的值
- -:指定范围
- ,:列出枚举 例如在分钟里,"5,15"表示5分钟和20分钟触发
- /:指定增量 例如在分钟里,"3/15"表示从3分钟开始,每隔15分钟执行一次
- ?:表示没有具体的值,使用 ? 要注意冲突
- L:表示last,例如星期中表示7或SAT,月份中表示最后一天31或30,6L表示这个月倒数第6天,FRIL表示这个月的最后一个星期五
- W:只能用在月份中,表示最接近指定天的工作日
- #:只能用在星期中,表示这个月的第几个周几,例如6#3表示这个月的第3个周五
示例
- 0 * * * * ? 每1分钟触发一次
- 0 0 * * * ? 每天每1小时触发一次
- 0 0 10 * * ? 每天10点触发一次
- 0 * 14 * * ? 在每天下午2点到下午2:59期间的每1分钟触发
- 0 30 9 1 * ? 每月1号上午9点半
- 0 15 10 15 * ? 每月15日上午10:15触发
- */5 * * * * ? 每隔5秒执行一次
- 0 */1 * * * ? 每隔1分钟执行一次
- 0 0 5-15 * * ? 每天5-15点整点触发
- 0 0/3 * * * ? 每三分钟触发一次
- 0 0 0 1 * ? 每月1号凌晨执行一次
【参考资料】
边栏推荐
- BGP Comprehensive Experiment
- 3 模块二:科研工具使用
- Switch and Router Technology-35-NAT to PAT
- The use of async (asynchronous) and await
- 一些常见mysql入门练习
- BGP综合实验
- Zabbix builds enterprise-level monitoring and alarm platform
- [FPGA tutorial case 50] Control case 2 - FPGA-based PD controller verilog implementation
- MySQL索引
- 02. Fold hidden text
猜你喜欢
Idea essential skills to improve work efficiency
Unity WebGL RuntimeError: integer overflow
Redis details
ARM Architecture 4: Embedded Hardware Platform Interface Development
普林斯顿微积分读本05第四章--求解多项式的极限问题
Paper Notes: Bag of Tricks for Long-Tailed Visual Recognition with Deep Convolutional Neural Networks
Switch and Router Technology - 28 - NSSA Areas for OSPF
Redis-数据类型(基本指令、String、List、Set、Hash、ZSet、BitMaps、HyperLogLog、GeoSpatial)/发布和订阅
MySQL必知必会(初级篇)
Core Data 多线程设计
随机推荐
[QNX Hypervisor 2.2 User Manual] 10.16 vdev virtio-blk
@Resource和@Autowired的区别
[No 2022 Shanghai Security Officer A Certificate Exam Question Bank and Mock Exam
Switch and Router Technology-35-NAT to PAT
并发编程之线程基础
3 Module 2: Use of scientific research tools
Switch and Router Technology - 22/23 - OSPF Dynamic Routing Protocol/Link State Synchronization Process
Internet Protocol 1
Redis-使用jedis连接linux中redis服务器失败的解决方案
面试题整理
Win10远程连接(实现多用户同时连接)
Day38 LeetCode
MySQL存储引擎概念
Switches and routers technologies - 30 - standard acls
四大函数式接口
ESP8266 教程3 — 通过TCP组建局域网并通信
MyEclipse数据库工具使用教程:使用驱动程序
Apache Commons OGNL语法说明_翻译
MFC Interprocess Communication (Shared Memory)
MySQL事务的概念