Airflow를 운영하다보면 이런 저런 이유로 task나 DAG를 재시작해야할 일이 있다.
한 두개 정도는 Web UI를 통해 쉽게 가능하다. clear 버튼만 누르면 재시작 되니까
클리어 버튼 옆에 몇 가지 옵션이 있는데,
하지만 실패한 작업이 너무 많아서 일일이 클릭하면서 재시작 하기는 버거운 경우도 있을 것이다. 이럴 때는 오히려 CLI를 사용하는 것이 편할 것이다.
먼저 실패한 task들만 골라서 재실행하는 방법이다
airflow tasks clear <dag_id> -s <시작시간> -e <종료시간>
필수적인 옵션은 이정도이고 추가적인 옵션은 Airflow Document에 잘 나와있다.
backfill은 수행되지 않은 기간의 것을 실행하여 빈 부분을 채우는데 사용하지만 --reset-dagruns
옵션으로 재수행도 가능하다.
airflow dags backfill <dag_id> -s <시작시간> -e <종료시간> --reset-dagruns
옵션은 task clear와 크게 다르지 않다.
이 역시 공식 문서를 참조하면 좋다.
이번에 작성한 DAG는 1분마다 실행되도록 했기 때문에 실행 횟수가 상당히 많은 편이다. 그런데 에러가 난 것을 늦게 알아차리면 수많은 실패 로그가 나를 맞이하고있다. Web UI가 평소에 간단한 작업을 하거나 한눈에 보기에는 매우 좋지만 한꺼번에 여러 작업을 하는 데에는 적합하지 않기 때문에 결국 CLI로 명령을 내리는 방법도 알고 있어야 할 것 같다.