본문 바로가기
Backend FrameWork/Spring

[SpringFramework] Spring Scheduling - Task

by IsBerry 2019. 2. 4.
반응형

Spring Scheduling - Task

 

 



Quart 란?

 : 스프링 MVC에서 일정 시간 주기적으로 작업하는 스케줄러

   Unix의 Corn 처럼 특정시간, 몇분, 몇시간 마다 동작하는 스케줄러

  주기적인 백업, 메일 발송 기능을 사용할 때 이용 

  Unix/Linux에서는 cron을 이용하여 쉘 스크립트를 실행하는 형태로 구현함. 

사용법

- servlet-context.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/mvc"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:beans="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:task="http://www.springframework.org/schema/task"
    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd">
    // ...
    <annotation-driven />
    <context:component-scan base-package="com.DevelopPR" />
    // ...    
    <!-- Spring task 스케쥴러설정 -->
    <task:annotation-driven />
    <task:scheduler id="scheduler" pool-size="10" />
</beans:beans>
cs


@Scheduled(cron="*/30 * * * * *")

0/1 * * * * ?  // 매 1초 간격

0 0/1 * * * ?  // 매 1분 간격

0 * * * * ? // 매 1분 간격

0 0 0/1 * * ? // 매 1시간 간격

0 0 0 * * ? // 매일 0시 마다

0 0 0 1 * ? // 매월 1일 마다

0 0 0 1, 10, 20 * ? // 매월 1일, 10일, 20일 마다 

 "0 0 12 * * ?" : 아무 요일, 매월, 매일 12:00:00

 "0 15 10 ? * *" : 모든 요일, 매월, 아무 날이나 10:15:00 

 "0 15 10 * * ?" : 아무 요일, 매월, 매일 10:15:00 

 "0 15 10 * * ? *" : 모든 연도, 아무 요일, 매월, 매일 10:15 

 "0 15 10 * * ? : 2005" 2005년 아무 요일이나 매월, 매일 10:15 

 "0 * 14 * * ?" : 아무 요일, 매월, 매일, 14시 매분 0초 

 "0 0/5 14 * * ?" : 아무 요일, 매월, 매일, 14시 매 5분마다 0초 

 "0 0/5 14,18 * * ?" : 아무 요일, 매월, 매일, 14시, 18시 매 5분마다 0초 

 "0 0-5 14 * * ?" : 아무 요일, 매월, 매일, 14:00 부터 매 14:05까지 매 분 0초 

 "0 10,44 14 ? 3 WED" : 3월의 매 주 수요일, 아무 날짜나 14:10:00, 14:44:00 

 "0 15 10 ? * MON-FRI" : 월~금, 매월, 아무 날이나 10:15:00 

 "0 15 10 15 * ?" : 아무 요일, 매월 15일 10:15:00 

 "0 15 10 L * ?" : 아무 요일, 매월 마지막 날 10:15:00 

 "0 15 10 ? * 6L" : 매월 마지막 금요일 아무 날이나 10:15:00 

 "0 15 10 ? * 6L 2002-2005" : 2002년부터 2005년까지 매월 마지막 금요일 아무 날이나 10:15:00 

 "0 15 10 ? * 6#3" : 매월 3번째 금요일 아무 날이나 10:15:00

반응형