精华内容
下载资源
问答
  • Jeesite cron定时器

    千次阅读 2019-01-29 15:45:09
    cron定时器配置 spring-context.xml配置 <!-- 计划任务配置,用 @Service @Lazy(false)标注类,用@Scheduled(cron = "0 0 2 * * ?")标注方法 --> <task:executor id="...

    cron定时器配置

    spring-context.xml配置

    <!-- 计划任务配置,用 @Service @Lazy(false)标注类,用@Scheduled(cron = "0 0 2 * * ?")标注方法 -->
    <task:executor id="executor" pool-size="10" />
    <task:scheduler id="scheduler" pool-size="10" />
    <task:annotation-driven scheduler="scheduler" executor="executor" proxy-target-class="true" />

    @Component
    @EnableScheduling
    @Lazy(false)
    public class test{

        /*quartz支持年份,而Spring Task不支持,所以cron只支持6位
        定时任务方法不能带参数,不能有返回值*/
        @scheduled(cron="0 0 2 * * ?")
        public void scyn(){}

    }

    @Scheduled cron表达式

     

    一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。

    按顺序依次为

    秒(0~59)

    分钟(0~59)

    小时(0~23)

    天(月)(0~31,但是你需要考虑你月的天数)

    月(0~11)

    天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)

    7.年份(1970-2099)

    其中每个元素可以是一个值(如6),一个连续区间(9-12),一个间隔时间(8-18/4)(/表示每隔4小时),一个列表(1,3,5),通配符。由于"月份中的日期"和"星期中的日期"这两个元素互斥的,必须要对其中一个设置?.

    0 0 10,14,16 * * ? 每天上午10点,下午2点,4点
    0 0/30 9-17 * * ?   朝九晚五工作时间内每半小时
    0 0 12 ? * WED 表示每个星期三中午12点 
    "0 0 12 * * ?" 每天中午12点触发 
    "0 15 10 ? * *" 每天上午10:15触发 
    "0 15 10 * * ?" 每天上午10:15触发 
    "0 15 10 * * ? *" 每天上午10:15触发 
    "0 15 10 * * ? 2005" 2005年的每天上午10:15触发 
    "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 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44触发 
    "0 15 10 ? * MON-FRI" 周一至周五的上午10:15触发 
    "0 15 10 15 * ?" 每月15日上午10:15触发 
    "0 15 10 L * ?" 每月最后一日的上午10:15触发 
    "0 15 10 ? * 6L" 每月的最后一个星期五上午10:15触发 
    "0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最后一个星期五上午10:15触发 
    "0 15 10 ? * 6#3" 每月的第三个星期五上午10:15触发 

    有些子表达式能包含一些范围或列表

    例如:子表达式(天(星期))可以为 “MON-FRI”,“MON,WED,FRI”,“MON-WED,SAT”

    “*”字符代表所有可能的值

    因此,“*”在子表达式()里表示每个月的含义,“*”在子表达式(天(星期))表示星期的每一天

     

    “/”字符用来指定数值的增量

    例如:在子表达式(分钟)里的“0/15”表示从第0分钟开始,每15分钟

             在子表达式(分钟)里的“3/20”表示从第3分钟开始,每20分钟(它和“3,23,43”)的含义一样


    “?”字符仅被用于天(月)和天(星期)两个子表达式,表示不指定值

    当2个子表达式其中之一被指定了值以后,为了避免冲突,需要将另一个子表达式的值设为“?”

     

    “L” 字符仅被用于天(月)和天(星期)两个子表达式,它是单词“last”的缩写

    但是它在两个子表达式里的含义是不同的。

    在天(月)子表达式中,“L”表示一个月的最后一天

    在天(星期)自表达式中,“L”表示一个星期的最后一天,也就是SAT

    如果在“L”前有具体的内容,它就具有其他的含义了

    例如:“6L”表示这个月的倒数第6天,“FRIL”表示这个月的最一个星期五

    注意:在使用“L”参数时,不要指定列表或范围,因为这会导致问题

     

     

    字段   允许值   允许的特殊字符

     0-59 , - * /
     0-59 , - * /
    小时 0-23 , - * /
    日期 1-31 , - * ? / L W C
    月份 1-12 或者 JAN-DEC , - * /
    星期 1-7 或者 SUN-SAT , - * ? / L C #
    年(可选) 留空, 1970-2099 , - * /

     

    举几个例子: 

    每隔5秒执行一次:"*/5 * * * * ?"

    每隔1分钟执行一次:"0 */1 * * * ?"

    每天23点执行一次:"0 0 23 * * ?"

    每天凌晨1点执行一次:"0 0 1 * * ?"

    每月1号凌晨1点执行一次:"0 0 1 1 * ?"

    每月最后一天23点执行一次:"0 0 23 L * ?"

    每周星期天凌晨1点实行一次:"0 0 1 ? * L"

    在26分、29分、33分执行一次:"0 26,29,33 * * * ?"

    每天的0点、13点、18点、21点都执行一次:"0 0 0,13,18,21 * * ?"

    表示在每月的1日的凌晨2点调度任务:"0 0 2 1 * ? *"

    表示周一到周五每天上午10:15执行作业:"0 15 10 ? * MON-FRI" 

    表示2002-2006年的每个月的最后一个星期五上午10:15执行:"0 15 10 ? 6L 2002-2006"

     

    注意:由于"月份中的日期"和"星期中的日期"这两个元素互斥的,必须要对其中一个设置?

     

    展开全文
  • spring cron 定时器用法说明 Cron表达式是一个字符串,字符串以5或6个空格隔开,分开工6或7个域,每一个域代表一个含义,Cron有如下两种语法 格式: Seconds Minutes Hours DayofMonth Month DayofWeek Year 或 ...

    spring cron 定时器用法说明

    Cron表达式是一个字符串,字符串以5或6个空格隔开,分开工6或7个域,每一个域代表一个含义,Cron有如下两种语法
    格式:
    Seconds Minutes Hours DayofMonth Month DayofWeek Year 或
    Seconds Minutes Hours DayofMonth Month DayofWeek
    每一个域可出现的字符如下:

    代码
    Seconds:可出现,- * / 四个字符,有效范围为0-59的整数
    Minutes:可出现,- * / 四个字符,有效范围为0-59的整数
    Hours:可出现,- * / 四个字符,有效范围为0-23的整数
    DayofMonth:可出现,- * / ? L W C八个字符,有效范围为0-31的整数
    Month:可出现,- * / 四个字符,有效范围为1-12的整数或JAN-DEc
    DayofWeek:可出现,- * / ? L C #四个字符,有效范围为1-7的整数或SUN-SAT两个范围。1表示星期天,2表示星期一, 依次类推
    Year:可出现,- * / 四个字符,有效范围为1970-2099年

    每一个域都使用数字,但还可以出现如下特殊字符,它们的含义是:

    (1):表示匹配该域的任意值,假如在Minutes域使用,即表示每分钟都会触发事件。

    (2)?:只能用在DayofMonth和DayofWeek两个域。它也匹配域的任意值,但实际不会。因为DayofMonth和DayofWeek会相互影响。
    例如想在每月的20日触发调度,不管20日到底是星期几,则只能使用如下写法: 13 13 15 20 * ?,其中最后一位只能用?,而不能使用*,
    如果使用*表示不管星期几都会触发,实际上并不是这样。

    (3)-:表示范围,例如在Minutes域使用5-20,表示从5分到20分钟每分钟触发一次

    (4)/:表示起始时间开始触发,然后每隔固定时间触发一次,例如在Minutes域使用5/20,则意味着5分钟触发一次,而25,45等分别触发一次.

    (5),:表示列出枚举值值。例如:在Minutes域使用5,20,则意味着在5和20分每分钟触发一次。

    (6)L:表示最后,只能出现在DayofWeek和DayofMonth域,如果在DayofWeek域使用5L,意味着在最后的一个星期四触发。

    (7)W:表示有效工作日(周一到周五),只能出现在DayofMonth域,系统将在离指定日期的最近的有效工作日触发事件。
    例如:在DayofMonth使用5W,如果5日是星期六,则将在最近的工作日:星期五,即4日触发。如果5日是星期天,则在6日触发;
    如果5日在星期一到星期五中的一天,则就在5日触发。另外一点,W的最近寻找不会跨过月份

    (8)LW:这两个字符可以连用,表示在某个月最后一个工作日,即最后一个星期五。
    (9)#:用于确定每个月第几个星期几,只能出现在DayofMonth域。例如在4#2,表示某月的第二个星期三。

    举几个例子:

    0 0 2 1 * ? * 表示在每月的1日的凌晨2点调度任务
    0 15 10 ? * MON-FRI 表示周一到周五每天上午10:15执行作业
    0 15 10 ? 6L 2002-2006 表示200-2006年的每个月的最后一个星期五上午10:15执行作业
    91linux

    一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。
    按顺序依次为
    秒(0~59)
    分钟(0~59)
    小时(0~23)
    天(月)(0~31,但是你需要考虑你月的天数)
    月(0~11)
    天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)

    7.年份(1970-2099)
    其中每个元素可以是一个值(如6),一个连续区间(9-12),一个间隔时间(8-18/4)(/表示每隔4小时),一个列表(1,3,5),通配符。
    由于"月份中的日期"和"星期中的日期"这两个元素互斥的,必须要对其中一个设置.

    0 0 10,14,16 * * ? 每天上午10点,下午2点,4点
    0 0/30 9-17 * * ? 朝九晚五工作时间内每半小时
    0 0 12 ? * WED 表示每个星期三中午12点
    “0 0 12 * * ?” 每天中午12点触发
    “0 15 10 ? * *” 每天上午10:15触发
    “0 15 10 * * ?” 每天上午10:15触发
    “0 15 10 * * ? *” 每天上午10:15触发
    “0 15 10 * * ? 2005” 2005年的每天上午10:15触发
    “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 10,44 14 ? 3 WED” 每年三月的星期三的下午2:10和2:44触发
    “0 15 10 ? * MON-FRI” 周一至周五的上午10:15触发
    “0 15 10 15 * ?” 每月15日上午10:15触发
    “0 15 10 L * ?” 每月最后一日的上午10:15触发
    “0 15 10 ? * 6L” 每月的最后一个星期五上午10:15触发
    “0 15 10 ? * 6L 2002-2005” 2002年至2005年的每月的最后一个星期五上午10:15触发
    “0 15 10 ? * 6#3” 每月的第三个星期五上午10:15触发

    有些子表达式能包含一些范围或列表
    例如:子表达式(天(星期))可以为 “MON-FRI”,“MON,WED,FRI”,“MON-WED,SAT”
    ”字符代表所有可能的值
    因此,“
    ”在子表达式(月)里表示每个月的含义,“*”在子表达式(天(星期))表示星期的每一天

    “/”字符用来指定数值的增量
    例如:在子表达式(分钟)里的“0/15”表示从第0分钟开始,每15分钟
    在子表达式(分钟)里的“3/20”表示从第3分钟开始,每20分钟(它和“3,23,43”)的含义一样

    “?”字符仅被用于天(月)和天(星期)两个子表达式,表示不指定值
    当2个子表达式其中之一被指定了值以后,为了避免冲突,需要将另一个子表达式的值设为“?”

    “L” 字符仅被用于天(月)和天(星期)两个子表达式,它是单词“last”的缩写
    但是它在两个子表达式里的含义是不同的。
    在天(月)子表达式中,“L”表示一个月的最后一天
    在天(星期)自表达式中,“L”表示一个星期的最后一天,也就是SAT
    如果在“L”前有具体的内容,它就具有其他的含义了
    例如:“6L”表示这个月的倒数第6天,“FRIL”表示这个月的最一个星期五
    注意:在使用“L”参数时,不要指定列表或范围,因为这会导致问题

    字段 允许值 允许的特殊字符
    秒 0-59 , - * /
    分 0-59 , - * /
    小时 0-23 , - * /
    日期 1-31 , - * ? / L W C
    月份 1-12 或者 JAN-DEC , - * /
    星期 1-7 或者 SUN-SAT , - * ? / L C #
    年(可选) 留空, 1970-2099 , - * /

    注意:日和星期是任先其一
    ?:代表可有可无
    *:代表每一年
    秒 分 时 日 月 星期几 年
    0 0 0 10 12 ? 2009 //代表:2009年12月10日0点0分0秒执行(星期几:’?'代表忽略)
    0 0 0 10 12 ? * //代表:每年12月10日0点0分0秒执行
    0 0 0 10 * ? //代表:每月10日0点0分0秒执行
    0 0 1 1 * ? //代表:每月1号1点0分0秒执行
    0 0 1 1 3,6,9 ? //代表:3月 6月 9月,1号1点0分0秒执行
    0 0 1 1 2-5 ?

    原文来源于:
    https://www.cnblogs.com/mingyue1818/p/5764050.html

    展开全文
  • 导读:cron 定时器是一个可以按照计划自动运行命令的工具。定时器是一个可以按照计划自动运行命令的工具。本文字数:1290,阅读时长大约:1分钟https://linux.cn/arti...

     

    导读:cron 定时器是一个可以按照计划自动运行命令的工具。定时器是一个可以按照计划自动运行命令的工具。

    本文字数:1290,阅读时长大约:1分钟

    https://linux.cn/article-13644-1.html
    作者:Seth Kenlon
    译者:perfiffer

    cron 定时器是一个可以按照计划自动运行命令的工具。

    cron 定时器是一个可以按照计划自动运行命令的工具。定时器作业称为 cronjob,创建于 crontab 文件中。这是用户自动操作电脑的最简单也是最古老的方法。

    创建一个 cronjob

    要创建一个 cronjob,你可以使用 crontab 命令,并添加 -e 选项:

    $ crontab -e
    

    这将使用默认的文本编辑器打开 crontab。如需指定文本编辑器,请使用 EDITOR 环境变量

    $ EDITOR=nano crontab -e
    

    Cron 语法

    如需调度一个 cronjob,你需要提供给计算机你想要执行的命令,然后提供一个 cron 表达式。cron 表达式在命令调度时运行:

    ◈ 分钟(0 到 59)

    ◈ 小时(0 到 23, 0 代表午夜执行)

    ◈ 日期(1 到 31)

    ◈ 月份(1 到 12)

    ◈ 星期(0 到 6, 星期天是 0)

    星号 (*) 代表的是“每一个”。例如,下面的表达式在每月每日每小时的 0 分钟运行备份脚本:

    /opt/backup.sh 0 * * * *
    

    下面的表达式在周日的凌晨 3:30 运行备份脚本:

    /opt/backup.sh 30 3 * * 0
    

    简写语法

    现代的 cron 支持简化的宏,而不是 cron 表达式:

    ◈ @hourly 在每天的每小时的 0 分运行

    ◈ @daily 在每天的 0 时 0 分运行

    ◈ @weekly 在周日的 0 时 0 分运行

    ◈ @monthly 在每月的第一天的 0 时 0 分运行

    例如,下面的 crontab 命令在每天的 0 时运行备份脚本:

    /opt/backup.sh @daily
    

    如何停止一个 cronjob

    一旦你开始了一个 cronjob,它就会永远按照计划运行。想要在启动后停止 cronjob,你必须编辑 crontab,删除触发该作业的命令行,然后保存文件。

    $ EDITOR=nano crontab -e
    

    如需停止一个正在运行的作业,可以 使用标准的 Linux 进程命令 来停止一个正在运行的进程。

    它是自动的

    一旦你编写完 crontab,保存了文件并且退出了编辑器。你的 cronjob 就已经被调度了,剩下的工作都交给 cron 完成。


    via: https://opensource.com/article/21/7/cron-linux

    作者:Seth Kenlon 选题:lujun9972 译者:perfiffer 校对:turbokernel

    本文由 LCTT 原创编译,Linux中国 荣誉推出


    欢迎遵照 CC-BY-NC-SA 协议规定转载,

    如需转载,请在文章下留言 “转载:公众号名称”,

    我们将为您添加白名单,授权“转载文章时可以修改”。

    展开全文
  • cron定时器表达式

    2021-04-22 10:02:13
    //cron定时器表达式 //cron表达式语法 //[秒] [分] [小时] [日] [月] [周] [年] // / 用于递增触发 //1/3’所示每月1号开始,每隔三天触发一次。 //“?”字符只在日期域和星期域中使用。它被用来指定“非明确的值”...

    import org.springframework.scheduling.annotation.Scheduled;
    import org.springframework.stereotype.Component;

    import java.util.Date;

    @Component
    public class MyQuartz {
    //首先通过在配置类注解@EnableScheduling来开启对计划任务的支持,
    // 然后在要执行计划任务的方法上注解@Scheduled,声明这是一个计划任务。
    //定时任务注解为@Scheduled。
    //cron定时器表达式
    //cron表达式语法
    //[秒] [分] [小时] [日] [月] [周] [年]
    // / 用于递增触发
    //1/3’所示每月1号开始,每隔三天触发一次。

    //“?”字符只在日期域和星期域中使用。它被用来指定“非明确的值”。
    // 当你需要通过在这两个域中的一个来指定一些东西的时候,它是有用的。
    // 看下面的例子你就会明白。 月份中的日期和星期中的日期这两个元素时互斥的一起应该通过设置
    // 一个问号来表明不想设置那个字段。
    //每一单位
    @Scheduled(cron = "
    /2 * * * * ?")
    public void testMyQuartz(){

        System.out.println("MyQuartz:"+new Date().toLocaleString());
    }
    

    }

    展开全文
  • ),这个因为本次的重点在于如何添加定时器,本人会在这几天有时间的时候来写一个如何搭建一个简单的springboot的项目的过程。现在时间有限,所以喽。还请各位多包涵。 咳咳。好了 进入主题。 方法一:通过springboot...
  • spring cron 定时器

    2016-10-11 18:04:00
    Spring Cron 表达式的格式如下: Cron expression is represented by six fields: second, minute, hour, day of month, month, day(s) of week 秒 分 时 日 月 星期 秒: 0-59 分: 0-59 时: 0-23 日: 1...
  • NodeJS - Cron定时器

    2018-12-24 11:51:08
    https://www.npmjs.com/package/cron Seconds: 0-59 Minutes: 0-59 Hours: 0-23 Day of Month: 1-31 Months: 0-11 (Jan-Dec) Day of Week: 0-6 (Sun-Sat) 年(可为空, 留空, 1970-2099) jobTimer: { ...
  • cron 定时器简单入门

    2016-11-15 16:22:00
    cron:计划任务,是任务在约定的时间执行已经计划好的工作,根据配置文件约定的时间来执行特定的任务。 编写测试类继承IJob ,实现Execute 此方法就是用于定时的任务 配置定时时间: 先创建windows服务,服务...
  • cron.New创建一个定时器管理器 c.AddFunc添加一个定时任务,第一个参数是cron时间表达式,第二个参数是要触发执行的函数 go c.Start()新启一个协程,运行定时任务 c.Stop是等待停止信号结束任务 ...
  • 我们在spring框架的注解中,可能会用到这样的定时器:@Scheduled(cron="0 0/1 * * * ?") ,Cron表达式的格式:秒 分 时 日 月 周 年(可选)。
  • 但是网上查了发现很多方法都需要重启项目才实现,后来从一篇博客上翻到说可以换一种思路,并不是去修改定时器时间,可以通过将之前的定时器停止注销,然后重新开启一个新的定时器来实现。 先上代码吧,基本上除了...
  • @Scheduled(cron = " 0 0 0 * * ?") //每天0点执行一次 public void myTest() { if("1".equals(TimingiesUtils.getValue("timing"))) { try { for (int i= 1; i ; i++) { StarSignstarSign = new ...
  • !/bin/bash source /telstar/.cshrc echo zsx &gt;&gt; /home/a1.log /usr/local/mongodb/bin/mongo 192.168.100.16:27017 &lt; show dbs use softbike; show collections;...db.re...
  • 经测试,如果去掉cron定时器就又可以正常shutdown。 目前产品业务上使用redis作为简单消息队列,如果直接强制kill tomcat进程,可能导致redis队列的数据丢失,目前部署使用的脚本是等待20s,如果进程还在,则强制...
  • 0 0/10 8-19 ? * 2-6
  • Kubernetes CronJob定时器

    2021-04-29 22:07:25
    Kubernetes CronJob官方文档 Kubernetes 使用CronJob运行自动化任务 Kubernetes CronJob限制 必读必看 Kubernetes 编写Cron工作规范 必读必看 编写Cron工作规范 Cron 子参数名称 注解 schedule 必填字段....
  • 定时器任务添加后没有执行,且运行 python manage.py crontab run报错如下 ``` 'Run "python manage.py crontab add" again to resolve this issue!' % job_hash RuntimeError: No job with hash None found. It ...
  • 定时器 cron

    2017-03-09 23:20:00
    参考 ... 安装crontab: yum install crontabs /sbin/service crond restart //重启服务管理员/var/spool/cron/root* * 9 * * echo "xiaosuaa" >> /opt/test.txt &...
  • javas服务器里面有很多的定时器,自己之前一直没有用过,所以学习一下定时器的用法 定时器用法举例 @Scheduled(corn = "00 00 05 * * ?"){//每天的凌晨五点执行这个方法 public void checkSomeHeFuActivity(){ ...
  • 定时器cron表达式

    2017-10-23 14:00:51
    定时器时用到,记录一下:   Cron表达式是一个字符串,字符串以5或6个空格隔开,分开工6或7个域,每一个域代表一个含义,Cron有如下两种语法  格式:  Seconds Minutes Hours DayofMonth Month ...
  • spring定时器cron表达式生成
  • Schedule定时器cron表达式 import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; /** * 定时器 */ @Component public class Schedule { /** * ...
  • 定时器 Quartz cron

    2014-03-06 16:11:45
    最近项目上用到 Spring 的定时器调用。所以遇到这个问题,索性干脆整理下,免得每次去 网上查。最主要的原因还是因为 google 总被和谐,嘿嘿。   1. Quartz cron 表达式 、Unix cron 表达式的相同与区别。  a)...
  • 本篇文章主要介绍了Go定时器cron的使用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,806
精华内容 4,322
关键字:

cron定时器