码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Cron表达式_用于定时调度任务


    一、Cron表达式简介

            Cron表达式是一个用于设置计划任务的字符串,该字符串以5或6个空格分隔,分为6或7个域,每一个域代表任务在相应时间、日期或时间间隔执行的规则【Cron表达式最初是在类Unix操作中系统中使用的,但现在已经广泛应用于各种操作系统和编程语言中】。

            Cron表达式常用于定时调度任务中(可通过Cron表达式来指定任务在某个时间点或进行周期性执行任务);Cron表达式的框架有:Quartz

    Quartz.NET开源库实现作业定时调度——常用示例_quartz.net 完整示例icon-default.png?t=N7T8https://blog.csdn.net/xiaochenXIHUA/article/details/118462070?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522169565142516800188570812%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=169565142516800188570812&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-2-118462070-null-null.nonecase&utm_term=quartz&spm=1018.2226.3001.4450 

    二、Cron表达式解析

            Cron表达式,分为7部分,每个域代表一个含义(前6个字段是必须的,最后一个是可选的),如下所示:

    Cron表达式解析
    域

    秒

    (second)

    分

    (minute)

    时

    (hour)

    日

    (day)

    月

    (month)

    星期几

    (week)

    年份

    (year)

    取值范围0~590~590~231~31

    1~12或

    JAN-DEC

    1-7(1表示星期天)可选,1970~2099或者空
    可出现的字符, - * /, - * /, - * /, - * / ? L W C, - * /, - * / ? L C #, - * /

    三、Cron表达式字符解析

    Cron表达式常用字符解析
    序号字符字符说明
    1

    ,

    指定某几个值;比如【3,5,8】在秒字段里面表示每分钟的第3,第5,第8秒都会执行,以此类推。
    2

    -

    指定的范围;比如【1-8】在秒字段里面表示每分钟的第1,第2,第3,第4,第5,第6,第7,第8秒都会执行,以此类推。

    3

    *

    所有;在不同字段上都表示要所有,比如:每秒,每分,每小时等
    4

    /

    指定值的起始和增加幅度;比如【5/6】在秒字段表示每分钟的第5秒开始,每隔6秒执行一次(即第5秒,第11秒,第17秒,第23秒,第29,第35,第41,第47,第53,第59秒开始执行)
    5?仅用于【日】和【周】字段;因为在指定某日和周几的时候,这两个值实际上是冲突的,所以需要用【?】标识不生效的字段;比如【6 6 * * * ?】表示每年每月每日每小时的6分6秒触发任务,而这里的周就没有效果了
    Cron表达式不常用字符解析
    序号字符字符说明
    1L最后;L只能出现在日和星期域;在日域中,L表示一个月的最后一天;在星期域中,L表示一个星期的最后一天
    2W表示有效工作日(周一到周五);只能出现在日域,系统将在离指定日期的最近的有效工作日触发事件;比如:在 日使用5W,如果5日是星期六,则将在最近的工作日:星期五,即4日触发。如果5日是星期天,则在6日(周一)触发;如果5日在星期一 到星期五中的一天,则就在5日触发。另外,W的最近寻找不会跨过月份。
    3C日历(表示canlendar);例如“1C”在星期域上就是包括日历上的星期日,基本无用
    4LW这两个字符可以连用,表示在某个月最后一个工作日;比如最后一个星期五
    5#用于确定每个月第几个星期几;比如在3#3,表示某月的第3个星期二

    四、常见表达式

    表达式描述
    */1 * * * * ?每隔1秒执行一次
    */5 * * * * ?每隔5秒执行一次
    0 */1 * * * ?每隔1分钟执行一次
    0 0 23 * * ?每天23点执行一次
    0 0 1 1 * ?每月1号凌晨1点执行一次
    0 0 23 L * ?每月最后一天23点执行一次
    0 0 1 ? * L每周星期六凌晨1点执行一次
    0 26,29,32 * * * ?在每小时的26分、29分、32分执行一次
    0 * 14 * * ?每天下午14点钟开始到14点59分结束这么一个时间段
    0 0/5 14 * * ?每天下午14点到14点55分之间每5分钟触发一次
    0 0/5 14,18 * * ?每天下午14点到14点55分 和18点到18点55分之间 每5分钟触发一次
    0 0-5 14 * * ?每天下午14点开始到14点05结束
    0 10,44 14 ? 3 WED每年三月的星期三的下午2:10和2:44触发
    0 15 10 ? * MON-FRI周一至周五的上午10:15触发
    0 10,14,16 * * ?每天上午10点,下午2点,4点
    0/30 9-17 * * ?朝九晚五工作时间内每半小时
    0 0 12 1/5 * ?每个月从第一天开始每隔5天中午12点触发一次
    0 11 11 11 11 ?每年11月11号11点11分
    0 0 0,13,18,21 * * ?每天的0点、13点、18点、21点都执行一次
    0 0 10,14,16 * * ?每天上午10点,下午2点,4点
    0 * 14 * * ?在每天下午2点到下午2:59期间的每1分钟触发
    0 12 ? * WED表示每个星期三中午12点
    0 0 12 * * ?每天中午12点触发
    0 * 14 * * ?在每天下午2点到下午2:59期间的每1分钟触发
    0 0/5 14 * * ?在每天下午2点到下午2:55期间的每5分钟触发
    0 0/5 14,18 * * ?在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
    0 0-5 14 * * ?在每天下午2点到下午2:05期间的每1分钟触发
    0 15 10 15 * ?每月15日上午10:15触发
    0 15 10 L * ?每月最后一日的上午10:15触发
    0 15 10 ? * 6L每月的最后一个星期五上午10:15触发
    0 15 10 ? * 6L 2012-20182012年至2018年的每月的最后一个星期五上午10:15触发
    0 15 10 ? * 6#3每月的第三个星期五上午10:15触发
    0 15 10 ? * *每天上午10:15触发
    0 15 10 * * ? 20182018年的每天上午10:15触发
    0 0/5 14 * * ?在每天下午2点到下午2:55期间的每5分钟触发
    0 0 2 1 * ? *表示在每月的1日的凌晨2点调度任务
    0 15 10 ? * MON-FRI表示周一到周五每天上午10:15执行作业
    0 15 10 ? 6L 2002-2006表示2002-2006年的每个月的最后一个星期五上午10:15执行作
    0 0 23 * * ?每天
    0 59 23 ? * SUN每周
    0 59 23 L * ?每月
    0 59 23 L 3,6,9,12 ?每季度
    0 0 0 31 12 ?每年

    五、Cron表达式验证网站

    在线Cron表达式生成器通过这个生成器,您可以在线生成任务调度比如Quartz的Cron表达式,对Quartz Cron 表达式的可视化双向解析和生成.icon-default.png?t=N7T8https://cron.qqe2.com/

    quartz/Cron/Crontab表达式在线校验工具-BeJSON.com可以看cron表达式执行时间,可以验证你的cron表达式是否正确icon-default.png?t=N7T8https://www.bejson.com/othertools/cronvalidate/

    六、.NET的定时调度任务组件有哪些

     C#/.NET/.NET Core定时任务调度组件有哪些? - 知乎原文由Rector首发于 码友网 之 C#/.NET/.NET Core应用程序编程中实现定时任务调度的方法或者组件有哪些,Timer,FluentScheduler,TaskScheduler,Gofer.NET,Coravel,Quartz.NET还是Hangfire?摘要C#/.NET/.NET Core的…icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/89976729

  • 相关阅读:
    web前端-javascript-自增++和自减--(a++和++a,都在自身基础上+1,a--和--a都在自增基础上-1,自增和自减的练习)
    python 可视化解释模型
    vw+rem自适应布局
    2.4G无线收发芯片 XL2400P使用手册
    spark-RDD的两大方法
    零零信安-D&D数据泄露报警日报【第37期】
    SpringBoot后端统计网站的IP访问次数及地区
    antd表格宽度超出屏幕,列宽自适应失效
    【统计分析数学模型】聚类分析: 系统聚类法
    python基于django药房药品销售进销存管理系统
  • 原文地址:https://blog.csdn.net/xiaochenXIHUA/article/details/133279610
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号