前言
本周启发
最近忙于完成企业的相关项目,很少有时间来分享最近一个星期的启发。最近较多的时间在进行企业大屏、看板的开发和设计,然后又加上手头有好几个定时推送预警消息至企业微信的需求,在里面会用到许多很奇怪场景的定时推送表达式。如有个需求是,每月最后一天推送一次和月初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
从左到右(用空格隔开):秒 分 小时 月份中的日期 月份 星期中的日期 年份(可选)。
二、Cron表达式生成器使用
1、打开https://www.pppet.net/网址
2、工具说明
详情见图片说明
案例演示:每月1-4日执行,执行频率为半小时一次。
如图所示,因该表达式我们每年、每月、每周都会执行,因此此时我们只需选择执行的日期,即选择生成器中“日”的周期选择1-4日,此时就代表了1-4日会执行该条件,然后我们选择执行的小时,因为我们需要24小时都执行的因此,我们在“小时”中选择执行的周期为0-23小时,因日和小时的最小执行频率是1因此我们需要在“分钟”里面选择执行频率为30分钟并可指定开始的分钟数,在图示中我直接选择0因此,在图中默认的最近5次运行时间为:2022-05-01 00:00:00 2022-05-01 00:30:00 。相信你使用一次后就能轻松掌握Cron表达式了。如有疑问欢迎留言,讨论哦~