java - quartz的cron表达式的问题
黄舟
黄舟 2017-04-18 10:26:49
0
3
404

在cron表达式中0 和* 的区别,看了文档之后不是很清楚,自己执行了下 感觉差不多。
比如 */26 和 0/26有什么区别呢?什么场景下 用哪个呢?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

모든 응답 (3)
Ty80

제 경험을 말씀드리겠습니다.
당시 직면한 문제는 4위와 6위였다. 네 번째 자리는 일을 나타내고 여섯 번째 자리는 주를 나타냅니다.
1, 2, 3 등 요일에 숫자가 있는 경우에는 주를 *로 표기합니다. 즉, 요일에 관계없이 1, 2, 3이면 요일을 의미합니다. 조건이 충족됩니다.
그 반대도 마찬가지입니다.

제 생각에는 * 표시의 의미는 어떤 숫자이든지 조건을 만족하는 것으로 간주된다는 것입니다.
다음 내용은 타인의 블로그에서 전달되었으며, 침해시 삭제됩니다.

Cron 표현식에는 다음 7개 필드가 포함됩니다.

형식: [초] [분] [시] [일] [월] [주] [연도]
일련 번호 설명 필수 여부 허용 값 와일드카드 허용
1초는 0- 59 , - * /
2분은 0~59, - * /
3시간은 0~23, - * /
4일은 1~31, - * / L W
5월 예 1-12 또는 JAN-DEC , - * /
6주 예 1-7 또는 SUN-SAT , - * ? / L #
7년 비어 있지 않음 또는 1970-2099 , - * /

와일드카드 설명:

  1. 백슬래시(/) 문자는 증분 값을 나타냅니다. 예를 들어 초 필드의 "5/15"는 5초부터 시작하여 15초마다를 의미합니다.

  2. 별표() 문자는 필드에 가능한 모든 값을 허용할 수 있음을 나타내는 와일드카드 문자입니다. 예를 들어 분 필드에 ""을 설정하면 1분마다 트리거된다는 의미입니다. .

  3. 물음표(?) 물음표는 이 필드에 특정 값이 포함되어 있지 않음을 나타냅니다. 따라서 월 내의 날짜를 지정하는 경우 날짜 필드에 "?"를 삽입하여 요일 값이 중요하지 않음을 나타낼 수 있습니다. 문자 L 문자는 마지막의 약자입니다. 해당 월의 마지막 날에 실행되도록 예약하려면 날짜 필드에 입력하세요. 요일 필드에서 "L"은 단독으로 존재할 경우 "7"과 같고, 그렇지 않으면 해당 월 내 요일의 마지막 인스턴스를 나타냅니다. 따라서 "0L"은 매월 마지막 일요일에 실행되도록 예정되어 있음을 의미합니다.

    • 은 간격을 나타냅니다. 예를 들어 시간에 "10-12"를 설정하면 10시, 11시, 12시에 트리거됩니다.

  4. 쉼표(,)는 여러 값을 지정한다는 의미입니다. 예를 들어 주 필드에 "MON,WED,FRI"를 설정하면 월요일, 수요일, 금요일에 트리거된다는 의미입니다

  5. 파운드(#) 문자는 해당 월의 특정 근무일 인스턴스를 지정합니다. 매월 두 번째 월요일에 작업을 예약하려면 요일 필드에 "MON#2"를 입력합니다.

  6. L은 마지막 단어를 의미합니다. 일 필드 설정에서는 해당 달의 마지막 날을 나타내며(당월 기준으로 2월이면 윤년 여부에 따라 다름), 주 필드에서는 토요일을 나타냅니다. "7" 또는 "SAT"에 해당합니다. "L" 앞에 숫자를 추가하면 마지막 데이터를 의미합니다. 예를 들어 주 필드에 "6L"과 같은 형식을 설정하면 "이번 달 마지막 금요일"을 의미합니다.

  7. W는 지정된 날짜(월요일~금요일)에 가장 가까운 근무일을 나타냅니다. 예를 들어 요일 필드에 "15W"를 설정하면 매월 15일에 가장 가까운 근무일이 트리거됩니다. 15일이 토요일인 경우 가장 가까운 금요일(14일)에 트리거가 발견되며, 15일이 주말인 경우에는 가장 가까운 월요일(16일)에 트리거가 발견됩니다. 근무일(월요일~일요일) 5) 해당 날짜에 트리거됩니다. 지정된 형식이 "1W"인 경우 매월 1일 이후 가장 가까운 영업일에 트리거된다는 의미입니다. 1일이 토요일이면 3일 월요일에 발동됩니다. (참고로 "W" 앞에는 특정 숫자만 설정할 수 있으며 "-" 간격은 허용되지 않습니다.)
    참고: 'L'과 'W'는 조합하여 사용할 수 있습니다. 요일 필드에 "LW"가 설정된 경우 해당 월의 마지막 영업일에 트리거된다는 의미입니다.

일반적인 예:
0 10* ?---------------매시간 10분마다 한 번씩 실행
0 0/32 8, 12? ----------매일 8시 32분과 12시 32분에 한 번 실행
0 0/2* ?------ - -------2분마다 실행
0 0 12?---------------매일 낮 12시에 실행
0 15 10 ?---------------매일 오전 10시 15분에 트리거됩니다.
0 15 10?--- --- ----------매일 오전 10시 15분에 트리거됨
0 15 10*--------------- 매일 오전 10시 15분에 트리거됨
0 15 10? 2005---------------2005년에는 매일 오전 10시 15분에 트리거됨
014* ?---------------매일 오후 2시에서 2시 59분 사이에 1분마다 트리거
0 0/5 14?- ---------------매일 오후 2시에서 2시 59분 사이에 5분마다 트리거
0 0/5 14,18?-- -------------매일 오후 2시~2시 59분 및 오후 6시~6시 59분 사이에 5분마다 트리거
0 0-5 14?---------------매일 오후 2시에서 2시 5분 사이에 1분마다 트리거
0 10,44 14 ? 3 WED---- -- --------3월 매주 수요일 오후 2시와 2시 44분에 트리거됩니다.
0 15 10 ? * MON-FRI------------ ---트리거 시간: 월요일부터 금요일까지 매일 오전 10시 15분
0 15 10 15 * ? ---------------매월 15일 오전 10시 : 15개 트리거
0 15 10 L * ?---------------매월 말일 오전 10시 15분에 트리거
0 15 10 ? * 6L- ------- --------매월 마지막 금요일 오전 10시 15분에 트리거됨
0 15 10 ? * 6L 2002-2005------------ -----트리거됨 2002년, 2003년, 2004년, 2005년 매월 마지막 금요일 오전 10시 15분
0 15 10 ? * 6#3------------ ----10시 15분에 트리거 매월 세 번째 금요일 오전
0 0 12 1/5 * ?---------------매월 세 번째 금요일부터 5일마다 정오 12시에 트리거 어느 날부터

0 11 11 11 11 ?---------------매년 11월 11일 오전 11시 11분에 실행됩니다.

    刘奇

    0과 *는 단독으로 사용하면 매우 다릅니다.
    문서에서는에 대해 설명합니다.("모든 값") - 필드 내의 모든 값을 선택하는 데 사용됩니다. 분 필드는 *“매분”을 의미합니다.

    으아악

    /와 조합해서 사용하면 관련 정보가 발견되지 않았으나 테스트 상황에서 보면 0/26은 */26과 동일합니다.

      左手右手慢动作

      온라인에서 표현을 생성하는 방법이 있습니다

        최신 다운로드
        더>
        웹 효과
        웹사이트 소스 코드
        웹사이트 자료
        프론트엔드 템플릿
        회사 소개 부인 성명 Sitemap
        PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!