zoukankan      html  css  js  c++  java
  • springboot定时任务以及corn表达式

    ## springboot的定时任务
    ### 两步编码实现定时任务。
    - 开启定时任务注解  :打开冰箱门 @enableScheduling
    - 设置定时时间,corn表达式。 @scheduled
    - corn表达式
     -- http://cron.qqe2.com
      corn表达式:空格区分组成部分
      秒     分    时     日         月      星期
      0-59   0-59  0-23  1-31       1-12     1-7 
      ,-*/   ,-*/  ,-*/  ,-*/?LWC   ,-*/     ,-*/?L C # 
      * corn通用表达式
      通用符号: ,-*? 
      ,标识枚举值,例如在minutes域使用5,20.表示在时间的分钟为5,20时触发事件。
      -表示范围,例如在minutes域中使用5-20,表示在时间的分钟为5-20时每分钟都触发事件。
      *表示匹配该区域的任意值,假如在minutes域使用*,表示时间分钟数不做限制,每分钟都触发时间。
      /表示,起始时间开始触发,然后每间隔固定的时间触发一次。
      
      思考题:
      秒 分 时 日 月 周 年
      0  0  2  1  * ?  * 表达什么意思:
      每月的一号的凌晨两点0分0秒。
      秒  分  时 日 月 周
      0 10,44 14 ?  3  WED:
      0秒 14点10分,14点44分3月的星期三。
      在每年的3月的星期三的14点10分0秒和14点44分0秒触发事件。

      专用符号:
      ? 只能用在dayofmonth和dayofweek两个域中使用。
      L 表示最后,
      W 表示有效的工作日,只能出现dayofmonth域。系统将在离指定日期的最近的有效工作日触发事件。
      #  用于确定每个月第几个星期几,只能出现在dayofweek域,例如在 4#2,表示某月的第二个星期三。

      专有符号:
       专有符号除?后,在spring定时任务中都不支持。

       秒 分     时    日  月  周
       0  0/30  9-22   *   *  ?
       表示:每年每月每日的9点到22点每30分钟触发事件,对星期几不设定。

       0  0    9-22/4 * * ?


    # 默认单线程的定时任务,如果事件持续事件较长,竟会将后续任务拖延,导致丢失任务。

    # spring使用异步多线程实现,两步
    - 1.打开同步注解。@EnableAsync
    - 2.设置异步执行。@Async

    # 总结:
    - 1.通过@enableScheduling注解开启定时任务
    - 2.通过@Scheduled设置定时任务
    - corn表达式
      # # 通用表达式:
      - ,-*/
      # # 专用表法式:
      -  ?
    # 异步
     - @enableAsync开启异步执行。
     - @Async设置异步执行的方法。
  • 相关阅读:
    VC++ MFC应用程序项目文件2.cpp
    sql存储过程加密和解密(MSSQL)
    VC++ MFC应用程序项目文件
    vs 2017 正规表达式替换整行多行数据
    mysqli
    jQuery对象
    Solidworks如何等比例缩小放大模型
    大负载机器人为什么要用平衡缸
    Office 如何下载网页的视频 JWPlayer的内嵌视频
    Solidworks如何自动打开和关闭特征识别FeatureWorks
  • 原文地址:https://www.cnblogs.com/hamish26/p/13300355.html
Copyright © 2011-2022 走看看