springboot 정시 퀘 스 트

소개
       일상 프로젝트 에서 정 해진 시간 에 데 이 터 를 업데이트 하거나 정 해진 시간 에 데 이 터 를 검사 하 는 수요 가 발생 할 수 있 습 니 다.이 럴 때 정 해진 시간 에 임 무 를 수행 하 는 기능 이 필요 합 니 다.이른바 정 해진 임 무 는 얼마 에 한 번 씩 수행 하거나 매달,매일,매주 특정한 시간 에 한 번 씩 수행 하 는 것 입 니 다.정시 작업 은 springboot 에 패키지 가 있어 서 직접 사용 하면 됩 니 다.(이 글 은 발췌 하 였 다.https://www.cnblogs.com/qdhxhz/p/9058418.html  비교적 간단 하 다.
2.사용 절차
  1.절차:
         1.1:시작 클래스 에@Enable Scheduling 주 해 를 쓰 십시오.
         1.2:정 해진 시간 에 작업 할 클래스 에@component 라 고 쓰 십시오. 
         1.3:정시 에 실행 할 방법 에@Scheduled(fixed Rate=밀리초)를 쓰 십시오.
  2.시작 클래스 예제:
@SpringBootApplication
@EnableScheduling //      
public class MainApplication {

    public static void main(String[] args) {
        SpringApplication.run(MainApplication.class, args);
    }
}

    3.정시 작업 클래스 작성
package com.dx.enumpro.emum_pro;

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

import java.util.Date;

/**
 * @author WYH
 * @date 2019/4/18 15:38
 */
@Component
public class SchedulingTest {

    @Scheduled(fixedDelay=6000)
    public void test(){
        System.out.println("  6 "+new Date());
    }

    //    3 
    @Scheduled(fixedRate=3000)
    public void fixedRateJob(){

        System.out.println("fixedRate   3 "+new Date());
    }

    //    8 30 0   
    @Scheduled(cron="0 0,30 0,8 ? * ? ")
    public void cronJob(){
        System.out.println(new Date()+" ...>>cron....");
    }

}

4.총화
     4.1.fixed Delay 와 fixed Rate,단 위 는 밀리초 입 니 다.여기 가 바로 5 초 와 3 초 입 니 다.그들의 차 이 는 다음 과 같 습 니 다.
        fixed Rate 는 업무 수행 에 얼마나 많은 시간 이 걸 렸 든 지 상 관 없 이 몇 분 에 한 번 씩 입 니 다.나 는 모두 1 분 에 한 번 씩 수행 하 는데,fixed Delay 는 임 무 를 수행 한 후 1 분 동안 집행 한다.그래서 실제 업무 에 따라 우 리 는 다른 방식 을 선택 할 것 이다.
  4.2.cron 표현 식:예 를 들 어 매일 언제 실행 할 지 설정 하려 면 사용 할 수 있 습 니 다.
       cron 표현 식 은 전문 적 인 문법 이 있 고 약간 사람 을 귀 찮 게 하 는 것 같 습 니 다.그러나 쉽게 말 하면 자주 사용 하 는 용법 을 기억 하면 됩 니 다.특수 한 문법 은 따로 찾 아 볼 수 있 습 니 다.     cron 은 모두 7 명 이지 만 마지막 한 명 은 해 입 니 다.시간 을 남 길 수 있 기 때문에 우 리 는 6 명 을 쓸 수 있 습 니 다.
*    ,   ,  0-59
*    ,   ,  0-59
*    ,    ,  0-23
*    ,   / ,  1-31
*    ,    ,  1-12
*    ,  ,  1-7,   ,   ..., :   1 ,      
            :1     ,2     。
*  7 ,  ,    ,  1970-2099

cron ,         ,    :

(*)  :         ,  ,  ,  ,  ,  ...
(?)  :                 。
(-)  :      ,         “10-12”,    10 12 , 10,11,12
(,)  :       ,         “1,2,4”,      ,   ,   
(/)  : :x/y,x    ,y   ,      ( ) 0/15  , 0   , 15 ,    0,15,30,45,60     :*/y,   0/y

      :

0 0 3 * * ?       3   
0 5 3 * * ?       3 5   
0 5 3 ? * *       3 5   ,       
0 5/10 3 * * ?    3   5 ,15 ,25 ,35 ,45 ,55         
0 10 3 ? * 1         ,3 10    , :1         
0 10 3 ? * 1#3           ,      ,#           

 
 

좋은 웹페이지 즐겨찾기