AirflowでDAGが認識されなくてハマった
起こった事象
- 以下のようにDAGの生成を別のメソッドに切り出していたらAirflowからDAGが認識されなくなった
dag_factory = DAGFactory.get_default()
dag = dag_factory.create(
dag_id="example",
...,
)
原因
- DAG file は
airflow
とdag
という文字列を両方含んでいる必要があるらしい - option的には
dag_discovery_safe_mode
回避策
- やや強引だが以下のようにAirflowという文字列が含まれるようにすればよい
- または dag_discovery_safe_mode を
False
にしてもよい
dag_factory = AirflowDAGFactory.get_default()
dag = dag_factory.create(
dag_id="example",
...,
)