Airflow DAG를 작성중에 cathcup 변수를 default_args 단에서 작성해주었다.
# DAG 기본 인수
default_args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': datetime(2024, 2, 21, 1, 0), # 시작 시간을 오전 1시로 설정
'email_on_failure': False,
'email_on_retry': False,
'retries': 1,
'retry_delay': timedelta(minutes=5),
'catchup' : False
}
하지만 직접 대그를 실행시켰을 때는 처리되지 않은 날에 해당하는 DAG가 실행되는 것을 확인할 수 있었다.
# Airflow DAG에 태스크 추가
with DAG('api_kr_to_jp_day', default_args=default_args, description='Fetch flight offers from Amadeus API and save to S3', schedule_interval=timedelta(days=1),catchup = False) as dag:
fetch_task = PythonOperator(
task_id='fetch_flight_offers',
python_callable=fetch_flight_offers,
op_kwargs={'airport': airport, 'dag_date': dag_date, 'date_list': date_list},
)
DAG 정의시 직접 변수로 넣어주니, 해결되었다. stackoverflow에서 찾아본 결과 DAG정의시 넣어주는 것이 확실하다고 한다.