개요
Airflow WebServer는 Dag의 상태를 일정 주기마다 새로 고침하는 auto-refesh 기능을 제공한다.
다만 이 기능은 Dag가 너무 많거나, Dag의 Task가 많으면 너무 많은 데이터를 너무 잦게 데이터베이스에서 조회하게 되어 시스템 부하를 줄 수도 있는 것 같다. 때문에 기본적으로 비활성화 상태를 기본으로 둘 수 있는 방법을 찾았는데, 그런 기능은 지원하지 않는 것으로 보인다.
이번 글에서는 Auto-refesh 관련 설정에 대해서만 간단히 짚고 넘어가려고 한다.
관련 설정
auto_refresh_interval
Auto-refesh 기능이 켜져있을 때 Dag 데이터가 자동으로 새로고침되는 빈도에 해당된다.
airflow.cfg나 환경변수로 설정할 수 있는데 Webserver 관련 설정값이다. 기본값은 3초인 것 같다.
dagsDisableAutoRefresh
Auto-refesh 기능의 활성화/비활성화 여부를 저장하는 값이다.
일반적인 Airflow 설정과 다르게 airflow.cfg 등으로 지정할 수 없고 Airflow Meta DB에도 저장하지 않는다.
이 값은 Web 브라우저의 Local Storage에 저장하는 값이다.
또한 Auto-refresh 기능이 켜져 있다면 표시되지 않는 값이다.
dagsDisableAutoRefresh 값을 airflow.cfg 등으로 관리하지 않기 때문에 현재 구성으로서는 WebServer의 Auto-refresh의 기본값을 변경하는 방법은 없는 것 같다.
참고 문서
https://stackoverflow.com/questions/65007900/airflow-dag-auto-refreshes-every-30-seconds
https://github.com/apache/airflow/discussions/22538