如何定义不应定期 运行 的气流 DAG/task

How to define Airflow DAG/task that shouldn't run periodically

目标非常简单:我需要为手动任务创建一个 DAG,该任务不应定期 运行,而仅当管理员按下 "Run" 按钮时。理想情况下不需要切换 "unpause" 和 "pause" DAG(你知道有人肯定会忘记暂停)。

到目前为止,我只带来了 schedule_interval="0 0 30 2 *"(希望 2 月 30 日永远不会发生),但必须有更好的方法!

有吗?

基于documentation,您可以将调度程序预设设置为None(不调度,仅用于“外部触发”DAG)。此外,您可以将其设置为 @once if schedule once and only once.

设置schedule_interval=None.

例如:

from airflow import models

with models.DAG(
    'Your DAG',
    schedule_interval=None,
    start_date=datetime(2021, 1, 1)
) as dag:
...