2011-09-05 6 views
2

두 날짜 사이에 매일 실행되는 Quartz CronTrigger 표현식을 작성하는 방법이 있습니까? 예를 들어, 2011 년 9 월 5 일 오전 11시에 시작하여 2012 년 6 월 11 일 오전 11 시까 지 끝나는가?두 날짜 사이의 석영 CronTrigger 표현

+1

http://stackoverflow.com/questions/704927/does-cron-expression-in-unix-linux-allow-specifying-exact-start-and-end-dates –

답변

1

오전 11시에 매일을 의미하는 표현을 사용하십시오. "0 0 11 * *?".

트리거의 startTime을 2011 년 9 월 5 일 오전 10:59로 설정하고 트리거의 endTime을 2012 년 6 월 10 일 오전 11:01으로 설정하십시오.

0

다른 해결책은 예약 된 경로에 대한 경로 정책 (SimpleScheduledRoutePolicy)을 지정하고이 정책 개체에 대한 RouteStartDate 및 setRouteStopDate를 설정하는 것입니다.

0

단일 cron 표현을 사용하면 어떤 기간이든 상관없이 동일한 기간 유형에 대해 다른 스케줄을 쉽게 실행할 수 없습니다. 그러나 귀하의 연도 차이 이외의 다른 모든 기간은 동일한 일정을가집니다. = "0 0 23 5/1 9 월 2012년 12월"
CRON2 = "0 0 23 1/1 JAN-2013년 6월"

당신이 전환 할 수 있습니다

cron1 : 그럼이 크론 표현식을 사용하여 스케줄러가 12 월 31 일 오후 11 시부 터 10 시까 지 10시 59 분부 터 10 시까 지 언젠가 cron1에서 cron2를 사용하는 것으로 나타났습니다. 스케줄러가 데이터베이스 또는 구성에서 cron 표현식을 읽는 중이면 매일 오후 11시 30 분에 새로운 스케줄을 읽어야합니다. 데이터베이스에 cron 표현식을 저장하는 경우 아래의 chron3을 사용하여 스케줄러가 특정 작업에 대한 cron 표현식을 스왑 아웃하도록 예약 할 수 있습니다.

cron3 = "0 0 0 1 JAN? 2013"

Silly me : o) 오늘 날짜가 2013 년 3 월 13 일이므로이 답변이 조금 늦은 것 같습니다.

관련 문제