Airflow dags生命周期事件

Airflow dags生命周期事件,airflow,airflow-scheduler,Airflow,Airflow Scheduler,我试图通过java后端管理气流DAG(创建、执行等)。当前,在创建dag并将其放置在airflow的dag文件夹中之后,我的后端一直在尝试运行dag。但是在气流调度器接收到它之前它无法运行,如果DAG的数量更多,这可能需要相当长的时间。我想知道气流是否会发出任何事件,我可以点击这些事件来检查调度器处理的新DAG,然后从我的后端触发、执行命令。或者是否有一种方式或配置,气流在处理dag后会自动启动dag,而不是我们触发它 是否有一种方式或配置,气流在处理dag后会自动启动dag,而不是我们触发它

我试图通过java后端管理气流DAG(创建、执行等)。当前,在创建dag并将其放置在airflow的dag文件夹中之后,我的后端一直在尝试运行dag。但是在气流调度器接收到它之前它无法运行,如果DAG的数量更多,这可能需要相当长的时间。我想知道气流是否会发出任何事件,我可以点击这些事件来检查调度器处理的新DAG,然后从我的后端触发、执行命令。或者是否有一种方式或配置,气流在处理dag后会自动启动dag,而不是我们触发它

是否有一种方式或配置,气流在处理dag后会自动启动dag,而不是我们触发它

是的,您可以定义的参数之一是
在创建时暂停

如果将DAG设置为:

DAG(
    dag_id='tutorial',
    default_args=default_args,
    description='A simple tutorial DAG',
    schedule_interval="@daily",
    start_date=datetime(2020, 12, 28),
    is_paused_upon_creation=False
)
DAG将在调度程序拾取后立即启动(假设满足运行DAG的条件)

我想知道是否有气流发出的任何事件,我可以点击这些事件来检查调度器处理的新DAG

在气流>=2.0.0中,可以使用API-获取DAG包中的所有DAG

在任何气流版本中,您都可以使用此代码列出dag_ID:

from airflow.models import DagBag
print(DagBag().dag_ids())

谢谢你的回答。在您的回答之后,我发现在配置中,我们也可以添加一个更改,使DAG在默认情况下运行。现在是第二部分,虽然我可以得到列表,如果dag,并检查我创建的dag是否存在。但问题是,我不想继续从后端进行检查。我正在寻找由气流侧触发的东西。正如我们所知,气流还维护数据库中的条目,所以应该有一些东西在气流拾取条目后将其添加到数据库中。但不知道我们是否可以监听或跟踪事件/过程idk。。