-
[Airflow] 에어플로우 execution_date DAG 스케줄러 에러(feat.run_id)Airflow 2021. 7. 8. 22:31728x90
🙊 문제상황
- schedule로 돌리면 하루 전 날짜(-24H)가 찍혀서 출력됨
- manual로 돌리면 정상 시간 출력 확인
🙈 원인파악
Airflow 내부 execution_date는 DAG 실행 예약 시간으로 DAG가 실행되는 시간에 다음 스케줄을 예약한다.
즉, execution_date은 실행날짜가 아닌 주문번호(run_id)의 개념.
- run_id: 예약을 잡으려고 시도한 시간
- 23일 schedule DAG 실행 -> 24일 schedule DAG 예약 -> 24일 schedule DAG 실행 run_id: 24일
🙉 문제해결
https://airflow.apache.org/docs/apache-airflow/stable/macros-ref.html#macros-reference
Default Variables에서 사용 가능 변수 확인
실제로 실행되는 날짜 값을 얻기 위해 the next execution date를 나타내는 {next_execution_date}를 사용함
execution_date = context.get('next_execution_date')
- 이상 오늘의 삽질일기 끝:)
여기저기 삽질도 해보고
날려도 먹으면서
배우는 게
결국 남는거다
- Z.Sabziller
'Airflow' 카테고리의 다른 글
[Airflow] 에어플로우 worker 중단 현상 해결 (0) 2021.11.19 [Airflow] 에어플로우 DAG Dynamically Generate Serial Tasks (feat. 직렬화 처리) (0) 2021.09.24 [Airflow] 에어플로우 Main, MySQL 서버 IP 주소 변경으로 인한 Airflow woker 실행 문제 해결(Feat. Docker container) (0) 2021.09.07 [Airflow] Airflow ExternalTask Sensor 생성하기 (0) 2021.08.09 [Airflow] DAG 작성법(Feat. 오늘 날짜/시간 출력하기) (0) 2021.04.21