最强cron解析器
背景
大家有没有这么一种困境
我现在需要去配置一个定时任务:"每天早上九点执行任务"
若你有一个好的定时任务平台,相信很容易就能配置完成。那若是没有定时任务平台呢?是不是就要自己写cron表达式
那 "每天早上九点执行任务" 的cron表达式怎么写呢?
这个时候我会去百度一些cron在线生成,因为我比较菜
然而,现在能找到的在线解析生成cron的网站有很多,但是使用体验都不太好,他可能是长这样的
如果我的需求再复杂一点点,"工作日的每天早上九点执行任务",那又该怎么操作呢
大多时候,我更需要知道一个cron表达式它是什么意思,比如 "0 9 */3 * *"。 这个时候,有很多网页的cron反解析就不好用了。后来我才知道,原来cron表达式分5,6,7位数,而我们熟知的crontab是5位数,意思是6,7位数的cron表达式在linux上是不可用的。各个解析网页对5,6,7位数的cron反解析的支持也是参差不齐的。
那么有没有一种,使用起来比较简洁,又支持5,6,7位数的cron解析呢?不如自己手搓一个吧!
所以 awesome-cron 诞生了
awesome-cron介绍
我们先来看看它的使用,我争取一张图能说明
是的,就这么简单,你只需要在输入框中输入cron表达式就行了
除了支持5,6,7位数的cron解析以外,我觉得它最大的亮点就是光标落在某处,就能在对应解释除标红
,并且告诉你当前是时分秒还是什么,然后这个地方支持哪些写法
如果你只是一个使用者,那么你可以直接访问 传送门,就可以使用了
如果你是开发,那么很高兴地告诉你,它是一个vue组件,你可以引入到你的vue项目中
特点
- Zero dependencies(0依赖)
- Supports all cron expression special characters including * / , - ? L W, # (支持cron所有特殊符号的解析)
- Supports 5, 6 (w/ seconds or year), or 7 (w/ seconds and year) part cron expressions(支持5,6,7位数的解析)
- i18n support with 29 languages (国际化)
安装
npm install awesome-cron
使用
import { createApp } from "vue";
import cron from "awesome-cron";
const app = createApp(App);
app.use(cron);
app.mount("#app");
安装之后 你可以 全局加载到你的VUE SFC组建文件中,像这样:
<cron-parser>
和 <cronParser>
都是可以的
<template>
<cron-parser></cron-parser>
</template>
or
<template>
<cronParser></cronParser>
</template>
按需导入
手动导入
<script>
import { defineComponent } from "vue";
import { CronParser } from "awesome-cron";
export default defineComponent({
components: {
CronParser,
},
setup() {
return {};
},
});
</script>
<template>
<CronParser></CronParser>
</template>
<style></style>
如果觉得这个cron解析不错,希望能给这个项目点个star, 项目地址←
最强cron解析器的更多相关文章
- 将定时任务cron 解析成中文
在使用定时器 quartz 时,其中的cron 表达式,老板表示作为开发的你能看懂外,其他的非开发同事可能看不懂,要用一个他们能看懂的方式表达出来. 还好我们的项目要求的表达式不是特别的麻烦,所以就写 ...
- Spring源码情操陶冶#task:scheduled-tasks解析器
承接前文Spring源码情操陶冶#task:executor解析器,在前文基础上解析我们常用的spring中的定时任务的节点配置.备注:此文建立在spring的4.2.3.RELEASE版本 附例 S ...
- Beautiful Soup常见的解析器
Beautiful Soup支持Python标准库中的HTML解析器,还支持一些第三方的解析器,如果我们不安装它,则 Python 会使用 Python默认的解析器,lxml 解析器更加强大,速度更快 ...
- 手写token解析器、语法解析器、LLVM IR生成器(GO语言)
最近开始尝试用go写点东西,正好在看LLVM的资料,就写了点相关的内容 - 前端解析器+中间代码生成(本地代码的汇编.执行则靠LLVM工具链完成) https://github.com/daibinh ...
- Boost学习之语法解析器--Spirit
Boost.Spirit能使我们轻松地编写出一个简单脚本的语法解析器,它巧妙利用了元编程并重载了大量的C++操作符使得我们能够在C++里直接使用类似EBNF的语法构造出一个完整的语法解析器(同时也把C ...
- Druid SQL 解析器概览
概览 Druid 的官方 wiki 对 SQL 解析器部分的讲解内容并不多,但虽然不多,也有利于完全没接触过 Druid 的人对 SQL 解析器有个初步的印象. 说到解析器,脑海里便很容易浮现 par ...
- PHP-XML基于流的解析器及其他常用解析器
PHP中有两种主要的XML解析器 1)基于树的解析器.它是把整个文档存储为树的数据结构中,即需要把整个文档都加载到内存中才能工作.所以,当处理大型XML文档时候,性能剧减.SimpleXML和DOM扩 ...
- 使用dom解析器对xml文档内容进行增删查改
直接添代码: XML文档名称(one.xml) <?xml version="1.0" encoding="UTF-8" standalone=" ...
- 黎活明8天快速掌握android视频教程--15_采用Pull解析器解析和生成XML内容
1.该项目主要有下面的两个作用 (1)将xml文件解析成对象的List对象,xml文件可以来自手机本地,也可以来自服务器返回的xml数据 (2)强list对象保存成xml文件,xml保存到手机的内存卡 ...
随机推荐
- WannaRen来袭:螣龙安科带你盘点那些年的勒索病毒
2020年4月7日,360CERT监测发现网络上出现一款新型勒索病毒wannaRen,该勒索病毒会加密windows系统中几乎所有的文件,并且以.WannaRen作为后缀.360CERT该事件评定:危 ...
- C# MVCapi跨域问题
he 'Access-Control-Allow-Origin' header contains multiple values ', *', but only one is allowed. Or ...
- day03_2_流程控制
# 流程控制 学习目标: ~~~txt1. idea安装与使用2. 流程控制if...else结构3. 流程控制switch结构4. 流程控制循环结构5. 流程控制关键字~~~ # 一.流程控制概述 ...
- Webpack学习系列 - Webpack5 怎么集成Babel ?
程序员优雅哥简介:十年程序员,呆过央企外企私企,做过前端后端架构.分享vue.Java等前后端技术和架构. 本文摘要:主要通过实操讲解运用Webpack 5 如何集成 Babel Babel 对于前端 ...
- Auto.js 调用系统短信、电话
本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! Auto.js 调用系统短信.电话 操作 ...
- Python 汽车之家 全系车型参数(包含历史停售车型) 最全
本文仅供学习交流使用,如侵立删!联系方式及demo下载见文末 汽车之家2021 全系车型参数(包含历史停售车型) 2021.10.21更新 增加参数:电动扰流板.无框设计车门.隐藏电动门把手.自动驾驶 ...
- 臭名远扬之 goto 语句
C 语言自学之 goto 语句 Dome1:以下程序实现从控制台输出1-10,使用goto语句,实现当输出完3之后跳出循环体. 1 #include <stdio.h> 2 3 int m ...
- CF280D k-Maximum Subsequence Sum(线段树)
在做这题时我一开始把\(tag\)写入了结构体 #include <iostream> #include <cstdio> #include <cstring> # ...
- 总结-一本通提高篇&算竞进阶记录
当一个人看见星空,就再无法忍受黑暗 为了点亮渐渐沉寂的星空 不想就这样退役 一定不会鸽の坑 . 一本通提高篇 . 算竞进阶 . CDQ & 整体二分 . 平衡树 . LCT . 字符串 . 随 ...
- Mybatis简单入门--插入数据
1. 开发环境 IDE:IDEA 构建工具:maven4.0.0 MySQL版本:8.0.11. 记得创建好数据库 Mybatis版本:3.5.7 MySQL不同版本的注意事项 驱动类driver-c ...