2010-06-08 4 views
3

작업이 X 초마다 실행되도록하려면 작업과 X가 일대일로 일치해야합니다. 또한 런타임 중에 자체 간격으로 새 작업을 등록 할 수 있습니다.X 초마다 발사 할 해당 Cron 식은 무엇입니까? 여기서 X> 60입니까?

나는 그러한 시나리오에 대한 cron 표현식을 작성하려고 시도했지만 설명서에는 59 초를 초과 할 수 없다는 것이 기록되어 있습니다. 이렇게 cron 표현식은 "0/63 * * * *?"입니다. 유효하지 않습니다.

처음에는 그 문제가 "0/3 0/1 * * *?"과 같은 표현 인 것 같았지만 매분 3 초마다 트리거 작업이 완전히 다른 것을 의미합니다.

올바른 솔루션 (cron 표현식)이 무엇인지 제안 해 주실 수 있습니까? 나는 단순한 타이머 만 사용할 수 있다는 것을 알고 있지만 Quartz를 사용하여 cron 작업을 사용해야한다.

답변

6

Quartz cron 구문은 표준 24 시간 60 분 시계를 기반으로 타이밍을 표현하도록 설계되었습니다. n이 모든 값이 될 수있는 "매초마다"는 적합하지 않습니다. 당신은 cron 표현으로 이것을 할 수 없을 것입니다.

Quartz에서이 작업을 수행해야하는 경우 CronTrigger이 아닌 SimpleTrigger을 사용해야합니다. 중첩되고 인위적으로 추론 된 cron 표현식을 엄청나게 복잡한 컬렉션으로 사용하고 싶지 않으면 실제로 옵션이 없습니다.

+0

감사합니다. Quartz에 SimpleTrigger가 있다는 것을 알지 못했습니다. – giolekva

관련 문제