0
点赞
收藏
分享

微信扫一扫

【NLP数据标注】windows10部署doccano标注工具

东言肆语 03-19 19:30 阅读 3

在了解定时任务之前,首先需要了解corn表达式

corn表达式

参考此文章,点击这里到达
cron表达式实际仍是一个字符串,由6到7个字段组成,用空格分隔。其中前6个字段是必须的,最后一个是可选的
对应分别是“ 秒 分 时 日 月 周 (年) ”

  • 常用字符:

    • * : “每” 的意思 , 可以作用在每个字段上,表示每时、每分、每秒
    • - : 用来指定值的范围,[0-60],作用在秒、分字段上
    • , : 指定某几个值,比如[2,4,5],在秒字段里就是每分钟的第2,第4,第5秒
    • / : 指定值的起始和增加幅度。比如[3/5],在秒字段就是每分钟的第3秒开始,每隔5秒生效一次
    • ? : 标识不生效的字段,仅用于日和周字段。 因为在指定某日和周几的时候,这两个值实际上是冲突的,
      所以需要用【?】标识不生效的字段。比如【0 1 * * * ?】就代表每年每月每日每小时的1分0秒触发任务。这里的周就没有效果了。
  • 特殊字符

    • SUN:仅用于【周】字段,表示星期日。
    • L:即last,用于【日】【周】字段,用处不同代表的意义不同
java中定时任务

参考此文章,点击这里到达

  • 这里主要记录 Spring Task 方法
    Spring自带了一套定时任务工具Spring-Task,可以把它看成是一个轻量级的Quartz
    • 在Spring Boot项目中,需要在启动类上添加@EnableScheduling来开启定时任务
    • @Scheduled指定该方法是基于定时任务进行执行,具体执行的频次是由cron指定的表达式所决定

实例代码如下:

@Component("taskJob")
public class TaskJob {

    @Scheduled(cron = "0 0 3 * * ?")
    public void job1() {
        System.out.println("通过cron定义的定时任务");
    }

    @Scheduled(fixedDelay = 1000L)
    public void job2() {
        System.out.println("通过fixedDelay定义的定时任务");
    }

    @Scheduled(fixedRate = 1000L)
    public void job3() {
        System.out.println("通过fixedRate定义的定时任务");
    }
}

举报

相关推荐

0 条评论