增加气流中特定DAG的超时

时间:2019-09-06 13:40:53

标签: airflow google-cloud-composer

我有一个DAG,它需要很长时间才能执行bigquery操作。而且我总是收到错误消息:“损坏的DAG:[/ home / airflow / gcs / dags / xyz.py]超时” 我找到了一些答案,说我们必须增加airflow.cfg的超时时间。但是这个想法不适合我的项目。是否有可能以某种方式增加特定DAG的超时时间?有人请帮忙。谢谢。

1 个答案:

答案 0 :(得分:2)

是的,您可以在Dag上设置dagrun_timeout参数。

  

指定DagRun应该运行多长时间           超时/失败,以便可以创建新的DagRun。超时时间           仅针对预定的DagRun实施,并且仅在           活动DagRun的数量== max_active_runs。

我们在每个可以设置的任务上都有一个参数execution_timeout

  

execution_timeout:执行以下操作的最长时间           此任务实例,如果超出范围,它将引发并失败。       :type execute_timeout:datetime.timedelta

因此,如果其中一项任务是在BigQuery上运行查询,则可以使用

BigQueryOperator(sql=sql,
    destination_dataset_table={{ params.t_name }}),
    task_id='bq_query',
    bigquery_conn_id='my_bq_connection',
    use_legacy_sql=False,
    write_disposition='WRITE_TRUNCATE',
    create_disposition='CREATE_IF_NEEDED',
    query_params={'t_name': table_name},
    execution_timeout=datetime.timedelta(minutes=10)
    dag=dag)