크론 작업 일정 구성

이 페이지에서는 일정 설명을 위해 unix-cron 형식 사용에 대해 간단히 설명합니다. 또한 기존 App Engine 크론 구문을 사용하여 일정을 설명할 수 있습니다.

작업 일정 정의

크론 작업은 반복되는 주기로 예약되며 unix-cron 형식을 사용하여 지정됩니다. 작업이 하루에 여러 번 실행되거나 특정 날짜와 특정 달에 실행되도록 일정을 정의할 수 있습니다.

일정은 작업 실행 시간을 나타내는 unix-cron 문자열 형식(* * * * *)을 사용하여 기술됩니다. 이 형식은 한 줄에 5개 값으로 설정됩니다.

이미지

Google Cloud Console, gcloud 명령줄, Cloud Scheduler REST API를 사용하여 일정을 설정할 수 있습니다.

시간 필드의 형식과 사용 가능한 값은 다음 표와 같습니다.

필드 유효한 값의 형식
0-59
시간 0-23
1-31
1-12
요일 0-6(일요일-토요일)

Cloud Console 작업 만들기 화면의 드롭다운 또는 작업을 만들 때gcloud --time-zone 플래그를 사용하여 일정 평가에 사용할 시간대를 선택할 수 있습니다. 기본 시간대는 Etc/UTC입니다.

샘플 일정

다음 표는 샘플 크론 일정 몇 가지와 그 설명을 보여줍니다.

샘플 일정 Cloud 스케줄러 형식
1분마다 * * * * *
매주 토요일 23:45(오후 11:45) 45 23 * * 6
매주 월요일 09:00 0 9 * * 1

일광절약시간

일부 시간대의 경우 일광절약시간으로 인해 작업이 예상한 주기를 벗어나서 실행될 수 있습니다. Cloud Scheduler가 현지시간으로 작동하기 때문입니다. 시계를 거꾸로 돌릴 때와 같이 특정 시간이 두 번 발생하고, 이 시간에 작업이 예약된 경우에는 예약된 작업이 비정상적으로 실행될 수 있습니다.

작업에 매우 특별한 주기가 필요한 경우 일광절약시간을 따르지 않는 시간대를 선택하는 것이 좋을 수 있습니다. 이러한 문제를 완전히 배제하기 위해서는 Cloud Scheduler에 특히 UTC를 선택하는 것이 좋습니다.