2013-11-22 5 views
2

저는 스프링 배치 응용 프로그램이 있고 CRON을 사용하여이 응용 프로그램 실행 빈도를 설정하고 있습니다. 하지만 난으로 실행하고있는 문제는 내가 특정 시간 당신이 매 4 시간이지만, 그래서 난의 시간 섹션에서 */4을 사용할 수 없습니다 새벽 3시 시작 볼 수 있듯이CRON : 특정 시간에 작업 실행

3 am 
7 am 
11 am 
3 pm 
7 pm 
11 pm 

에 작업을 실행하려는 것입니다 타이밍 형식이 오전 4시에 작업을 시작하게됩니다.

나는 시간 섹션에서 '3,7,11,15,19,23'을 시도했지만이 방법도 작동하지 않습니다 (분 섹션에서만 작동 함). 누군가 내가 이것을 할 수있는 방법을 알고 있습니까?

답변

4

사용은

@Scedule(cron="0 0 3/4 * * ?") 

x/y 패턴 (Pattern) 의미 : <timepart> mod y = x

또는

@Scedule(cron="0 0 3,7,11,15,19,21 * * ?") 

Quartz Cron Trigger Tutorial에있어서 여기서

0,123,

'/'문자를 사용하여 값의 증가를 지정할 수 있습니다. 예제의 경우, 분 필드에 '0/15'를 입력하면 '분 0부터 시작하여 15 분 간격으로 매분 1535 분의 분'을 의미합니다. 분 필드에서 '3/20'을 사용했다면 '20 분에 한 번씩, 분 세시에 시작하는 '을 의미합니다. 즉,'3,23,43 '을 지정하는 과 같습니다. 분 필드에. "/ 35"는 * "35 분마다"를 의미하는 것은 아니며, "0 분에서 시작하여 매분 3535 분마다 "을 의미합니다. 즉, '0,35'를 지정하는 과 동일합니다. .

1

0 0 3,7,11,15,19,23 * *?

매일 3시에 시작하여 23시에 끝나는 0 분 동안 작동합니다.

매우 어리석은 내가 시작과 내 시간의 끝 부분에 아포스트로피를 유지 하였다 제작 된 오류 ... 위의 두 답변에 의해 판단

1

나는 시간 등을위한 3-23/4를 사용하여이 문제를 해결하기 위해 관리 이것은 오전 3시에 시작하고 그 다음 4 시간마다 시작합니다 (다른 답변과는 다른 방법)