专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-963-0016
微信咨询
|
联系我们
扫二维码关注公众号
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
位置:
网站建设
>
技术支持
> cron 表达式一看就明白
cron 表达式一看就明白
来源:网络整理 时间:2023/2/14 1:00:17 共
3661
浏览
不知道你在玩游戏的时候是否发现过以下情况:
(1)玩某些游戏的时候,发现他的排行榜并不是时时更新的,而是每半个小时,或者一个小时更新一次。
(2)又比如很火的王者荣耀手游,它的日常任务,都是每天5点进行更新。
那么,这些时间控制,到底是由谁控制得如此精准呢?原来,这些都是corn表达式的功劳。
【1】什么是cron表达式 ?
在了解之前,我们先举几个例子,看看corn表达式长什么样子(这是我实际工作中的cron表达式具体应用场景)。
可以看到,corn表达式就是:由若干数字、空格、符号按一定的规则,组成的一组字符串,从而表达时间的信息。
好像和正则表达式有点类似哈,都是一个字符串表示一些信息。
【2】cron 表达式标准结构
那么这个规则究竟是怎样的呢?我们继续往下了解。
从上面的三个例子中,我们可以看到,这个字符串被5个空格分成了6个部分。
假设我们以ABCDEF举例,它的标准格式为:"A B C D E F" 。
【3】cron 表达式具体含义
这个ABCDEF到底是什么意思呢?接下来是画重点的地方,认真看:
A表示秒,B表示分,C表示小时,D表示日,E表示月,F表示星期
故:"A B C D E F" --> "秒 分 时 日 月 星期"
可能有的人要跟我急了,为什么没有年呢?其实星期后面就是年,但这个年可加可不加,加上就是 "A B C D E F G" 格式。
为什么通常不加年呢?你见过哪些程序会指定在哪一年跑的?或者每几年跑一次的?
所以,年的实用性不大,加上又为了书写方便,规则上就干脆省掉了!当然加上也没错!
【4】前例解释
根据上面截图中的三个例子,我们这里提取出来,算了,直接再发一次:
从注释里我们可以了解到:
第1个:它的秒位为0,表示每个0秒,分位为*/5,意思是每5分钟。所以总的来说就是每5分钟(每5分0秒)时执行一次;
第2个:它的秒位为0,分位为30,时位为一串集合,则它的意思是每天 8点半、10点半、12点半、14点半、16点半、21点半各执行一次;
第3个:我想你已经知道它的意思了,没错,它就是每个小时整点(整点0分0秒)执行一次。
从上面三个列子中,我想你已经了解了orcn表达式的大致意思了:数字则表示具体时间,* 则表示任意时间,*/x 则表示每多少时间,还可以用集合表示具体的几个时间点。
【5】更多例子
(5.1)用短横线(-)表示时间段:
比如:我们的上班时间朝9晚6为(周一到周五的早上9点到晚上6点),则cron表达式为:0 0 9-18 * * MON-FRI
星期一到星期天的英文为:Monday,Tuesday、Wednesday、Thursday、Friday、Saturday 、Sunday ,取前三个字母,然后大写表示星期。
(5.2)用L表示最后,L是单词Last(最后的)的首字母:
比如:假设每个最后一天,下午2点发工资的时间,则cron表达式为:0 0 14 L * ?
注:如果没有具体说明是星期几,通常用问号代替。
其他不常用的功能 #,W 这里不就介绍了,想知道的朋友可以自己去查阅资料,因为在实际工作中,用得极少。
而我们最常用的就是在某个时间点,或者某些时间点执行程序,也就是【4】中的前例解释。
【6】cron 表达式用途
如前言所示,cron 表达式最主要的就是在程序中做一些定时任务,比如某些系统的报表数据,某些游戏的排行榜,由于这些数据量实时统计非常消耗程序性能,所以就每隔一段时间,通过自动任务跑一次,这样可以极大的提升用户浏览体验,要是在游戏里,还可以增加一种神秘感。
另外,某些具体点的数据拉取,比如你如果从事平台对接工作,要从某些平台下载你的订单,那么肯定是每隔多久抓一次。
又比如你写个爬虫,要实时的了解你的某些数据,然后从这些数据中反应你的情况。
比如:我的CSDN每小时访问情况(每小时获取一次CSDN访问数据)
实战例子:springboot基于注解实现自动任务
【7】牛刀小试
下面的几个 cron 表达式 各自是什么意思呢?(下滑查看答案)
(1)0 0 15 1 10 * 1949
(2)0 30 */2 * * ?
(3)1,3,5 0 1-5 L * ?
答案:
(1)1949年10月1日下午3点,开国大典时间(是不是又涨知识了)。
(2)每2小时第30分0秒执行
(3)每个月最后一天的1到5点,然后这几个点内的每个0分1秒,0分3秒,0分5秒各执行一次。
————————————————
版权声明:本文为CSDN博主「zyqok」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sunnyzyq/article/details/98597252
版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
相关主题:
网页分类栏设计图
网页设计的字体调大
网页设计中怎样设置图片
web网页尺寸设计规范
网页设计中怎么加粗线
网页设计代码空格是什么
网页设计师职业信息
网页设计必会软件有哪些
网页设计服务计入什么科目
网页设计中漂亮的背景
·上一条:
浅谈 RPC 和 REST: SOAP, gRPC, REST
|
·下一条:
Cron表达式
同类资讯
浅谈 RPC 和 REST: SOAP, gRPC, REST
什么是Blazor?
gRpc原理解析及C#中使用示例
《进击吧!Blazor!》系列入门教程 第一章 1.初识 Blazor
《进击吧!Blazor!》系列入门教程 第一章 2.Hello Blaz
C#:实体框架EF(entity framework)
.Net Core2.2 + EF Core + DI,三层框架项目搭建
C# 实现AOP 的几种常见方式
SqlSugar的简单用法
面向对象程序设计(Object Oriented Programming
.NET5 SqlSugar 创建数据库表
C# 深入探索SqlSugar
C# SqlSugar基于 .NET 开源ORM框架
C#接口
C# 工厂模式
从壹开始 [ Ids4 ] 之二║ 基础知识集合 & 项目搭建一
asp.net core bundleconfig.json合并压缩资源
DataTable无法使用AsEnumerable ()的解决办法
await Task.Yield()和await Task.Comple
SOP标准作业程序
资讯动态
公司新闻
互联网资讯
电商资讯
优化推广
技术支持
关于我们
公司简介
企业文化
服务项目
公司新闻
服务项目
网站建设
网站推广
品牌策划
移动应用
服务支持
在线咨询
服务流程
产品报价
售后服务
联系我们
代理加盟
付款方式
在线留言
联系方式
联系方式
电话:400-963-0016
邮箱:sales@itwy.com
QQ:250211130
微信:18520775521
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有
粤ICP备16019765号
广州京杭网络科技有限公司 版权所有
18520775521
QQ洽谈
sales@itwy.com