一用就会Cron表达式生成器

简介: 笔记

前言


本周启发

最近忙于完成企业的相关项目,很少有时间来分享最近一个星期的启发。最近较多的时间在进行企业大屏、看板的开发和设计,然后又加上手头有好几个定时推送预警消息至企业微信的需求,在里面会用到许多很奇怪场景的定时推送表达式。如有个需求是,每月最后一天推送一次和月初1-4号按半小时的频次推送一次。如果是在代码里去写一长段去获取每个月的最后一天,那真是赔了夫人又折兵。对于这些奇奇怪怪的定时更新、推送、提醒的场景如果不采用Cron表达式,怕是会累断你的老腰哦。

类似上面的获取每月最后一天,采用Cron表达式0 0 0 L * ? *就能轻松解决。当然对于这种像天书一样的符号,有个双向翻译该有多好。下面将详细分享一个你一用就会的Cron表达式生成器。


分享(重新认识冬虫夏草)

当然这个星期让我意外收获的是拜读了高宣亮老先生的《药物史话》让我对医学充满了兴趣。其中一个比较感兴趣的就是对冬虫夏草的介绍。高老先生说:冬虫夏草是麦角菌科真菌冬虫夏草寄生在蝙蝠蛾科昆虫幼虫上的子座及幼虫尸体的复合体。《本草从新》解释其名的来历谓:“冬在土中,身活如老蚕,有毛能动。至夏则毛出土上,连身俱化为草。”故名冬虫夏草。

子座长在寄生幼虫的头部,通常只有一个细长如棒状,上部为子座的头部,少膨大,呈圆柱状。子座头部密生多数少囊壳,每个子囊有8个线形子囊孢子。夏季,子囊孢子成熟时,由子囊内射出后分裂成小段,每段在萌发时产生芽管,侵入寄主幼虫体内生长。染病的幼虫钻入土中,冬季菌丝逐渐充满虫体,幼虫死后形成菌核。虫体实际上成了培养基,菌丝破坏了幼虫体内器官,但虫体的整体角皮尚基本完整无损。第二年夏季,从幼虫尸体的头部长处子座,好比是一株小草一样。其功能为补肺益肾,止咳化痰。用于久咳虚喘,劳嗦咳血,阳痿遗精,腰膝酸痛。看完了冬虫夏草的介绍,我又一次感叹大自然的鬼斧神工。


一、什么是Cron表达式?


Cron表达式为一个字符串,由 5 个或 6 个空格隔开,分为 6 或 7 个域,每一个域代表一个时间范围。

Cron有如下两种语法格式:

Seconds Minutes Hours DayofMonth Month DayofWeek Year

Seconds Minutes Hours DayofMonth Month DayofWeek

从左到右(用空格隔开):秒 分 小时 月份中的日期 月份 星期中的日期 年份(可选)。

1.png2.png3.png

二、Cron表达式生成器使用


1、打开https://www.pppet.net/网址

4.png

2、工具说明

详情见图片说明

5.png

案例演示:每月1-4日执行,执行频率为半小时一次。

6.png

如图所示,因该表达式我们每年、每月、每周都会执行,因此此时我们只需选择执行的日期,即选择生成器中“日”的周期选择1-4日,此时就代表了1-4日会执行该条件,然后我们选择执行的小时,因为我们需要24小时都执行的因此,我们在“小时”中选择执行的周期为0-23小时,因日和小时的最小执行频率是1因此我们需要在“分钟”里面选择执行频率为30分钟并可指定开始的分钟数,在图示中我直接选择0因此,在图中默认的最近5次运行时间为:2022-05-01 00:00:00 2022-05-01 00:30:00 。相信你使用一次后就能轻松掌握Cron表达式了。如有疑问欢迎留言,讨论哦~


相关文章
|
调度
关于定时任务,看着一系列就够了——2.Cron表达式
软件开发定时任务基础—— Cron 表达式介绍
1455 0
关于定时任务,看着一系列就够了——2.Cron表达式
|
8月前
|
C#
C#语法快速热身
C#语法快速热身
|
程序员
相见恨晚的Matlab编程小技巧(2)-代码怎么做到逻辑清晰?——巧用注释符“%“
        本文将以教程的形式详细介绍Matlab中两个常用符号“%”和“%%”的作用。初学者可以通过此文掌握这两个符号的用法,为Matlab编程打下坚实的基础。
|
关系型数据库 MySQL
MySQL基础学习——多行处理函数(五)
注意: 分组函数在使用的时候必须先进行分组,然后才能用。 如果你没有对数据进行分组,整张表默认为一组。
146 0
MySQL基础学习——多行处理函数(五)
|
SQL 关系型数据库 MySQL
MySQL基础-执行顺序
查询年龄大于15的员工姓名、年龄,并根据年龄进行升序排序。
81 0
使用 Lambda 表达式的正确姿势,写得太好了叭
Lambda 表达式非常方便,在项目中一般在 stream 编程中用得比较多。 List<Student> studentList = gen(); Map<String, Student> map = studentList .stream() .collect(Collectors.toMap(Student::getId, a -> a, (a, b) -> a)); 理解一个 Lambda 表达式就三步: 1. 确认 Lambda 表达式的类型 2. 找到要实现的方法 3. 实现这个方法 就这三步,没其他的了。而每一步,都非常非常简单,以至于我分别展开讲一下,你就懂了。
|
关系型数据库 MySQL
MySQL基础教程13——函数——流程控制函数
如果value1为null则返回value2,不为null则返回value1,这里需要注意如果value1为""(空字符)不属于null返回空字符本身。
|
Java 调度
定时任务最简单的3种实现方法(超好用)上
定时任务最简单的3种实现方法(超好用)
144 0
|
存储 NoSQL Java
定时任务最简单的3种实现方法(超好用)下
定时任务最简单的3种实现方法(超好用)
493 0
定时任务最简单的3种实现方法(超好用)下