Jay's Cookbook
Menu
  • Tags
  • Categories
  • Projects
Computer Science
OS
Network
Data Structure
Algorithm
Language
Code Architecture
Python
Javascript
Typescript
Java
Backend
Backend Theory
TypeORM
Node.js
NestJS
FastAPI
Frontend
HTML/CSS
React
Next.js
Data Engineering
DE Theory
MySQL
MongoDB
Elastic
Redis
Kafka
Spark
Airflow
AI
Basic
Pytorch
NLP
Computer Vision
Data Analytics
Statistics
Pandas
Matplotlib
DevOps
Git
Docker
Kubernetes
AWS
Airflow Series [Part5]: 스케줄링
data_engineering
airflow

Airflow Series [Part5]: 스케줄링

Jay Kim
Jay Kim 05 Feb 2022
Airflow Series [Part4]: 에어플로우 도입 사례 Airflow Series [Part6]: 템플릿 변수

Table of Contents

  • 정기적으로 실행하기
    • 스케줄 간격 정의하기
  • 참고

정기적으로 실행하기

  • DAG를 초기화할 때 schedule_interval 인수를 설정해 스케줄 간격을 정의할 수 있음 (디폴트는 None)
dag = DAG(
            dag_id=...,
            schedule_interval="@daily", # 매일 00시 00분 00초에 실행된다
            start_date=datetime.datetime(2023, 1, 1)
        )

스케줄 간격 정의하기

  • Airflow는 정의된 간격 후에 태스크가 시작된다 (Airflow executes the DAG after start_date + interval (daily))
  • 위의 예시의 경우, 2023년 1월 1일 00시 00분 00초에 처음으로 태스크가 실행될 것 같지만, 2023년 1월 2일 00시 00분 00초에 처음 실행된다
  • 표현 방법은 크게 @로 시작하는 프리셋, cron 표현식, datetime.timedelta를 이용한 빈도 기반 방법이 있다
프리셋 이름 의미
@once 1회만 실행한다
@hourly 매시간 실행한다
@daily 매일 자정에 실행한다
@weekly 매주 일요일 자정에 실행한다
@monthly 매달 자정에 실행한다
@yearly 매년 1월 1일 자정에 실행한다
*(분) *(시) *(일) *(월) *(요일)
크론 표현식 의미
* * * * * 매분마다 실행한다
0 2 * * * 매일 새벽 2시마다 실행한다
* 2 * * * 매일 새벽 2시에 1분마다 실행한다
0 0 * * 0 매주 일요일마다 자정에 실행한다
0 0,12 * * * 매일 00시 12시에 실행한다
schedule_interval=datetime.timedelta(days=3) # 3일마다
schedule_interval=datetime.timedelta(minutes=1) # 1분마다
schedule_interval=datetime.timedelta(seconds=1) # 1초마다

참고

Airflow Series [Part4]: 에어플로우 도입 사례 Airflow Series [Part6]: 템플릿 변수

You may also like

See all airflow
05 Feb 2022 Airflow Series [Part7]: 워크플로 컨트롤
data_engineering
airflow

Airflow Series [Part7]: 워크플로 컨트롤

05 Feb 2022 Airflow Series [Part6]: 템플릿 변수
data_engineering
airflow

Airflow Series [Part6]: 템플릿 변수

05 Feb 2022 Airflow Series [Part4]: 에어플로우 도입 사례
data_engineering
airflow

Airflow Series [Part4]: 에어플로우 도입 사례

Jay Kim

Jay Kim

Web development, data engineering for human for the Earth. I share posts, free resources and inspiration.

Rest
Lifestyle
Hobby
Hobby
Hobby
Hobby
2025 © Jay's Cookbook. Crafted & Designed by Artem Sheludko.