Airflow Dag 超时未收到电子邮件

sia*_*sia 7 airflow airflow-scheduler

我正在使用气流 1.8。我希望 Airflow 在 DAG 超时时发送电子邮件。目前,它会在任务超时或重试时发送电子邮件。但当 DAG 超时时则不然。DAG 有意设置为每分钟运行一次。任务 10 秒,但 DAG 超时为 5 秒。dag 失败,但不发送任何电子邮件。这是我的 DAG 代码:

from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from datetime import datetime, timedelta


default_args = {
  'owner': 'airflow',
   'depends_on_past': False,
   'start_date': datetime(2015, 6, 1),
   'email': ['email@email.com'],
   'email_on_failure': True,
   'email_on_retry': True,
   'retries': 1,
   'retry_delay': timedelta(minutes=5),
   'execution_timeout': timedelta(seconds=60) 
}

schedule = '* * * * *'

dag = DAG('leader_dag', 
default_args=default_args,catchup=False,dagrun_timeout=timedelta(seconds=5), 
schedule_interval=schedule)

 # t1, t2 and t3 are examples of tasks created by instantiating operators
 t1 = BashOperator(
    task_id='print_date',
    bash_command='sleep 10',
    dag=dag)
Run Code Online (Sandbox Code Playgroud)

这是来自airflow.cfg的smtp部分:email_backend = airflow.utils.email.send_email_smtp

#[smtp]                                                                                                                                                                                                                                           
# If you want airflow to send emails on retries, failure, and you want to                                                                                                                                                                         
# the airflow.utils.send_email function, you have to configure an smtp                                                                                                                                                                            
# server here                                                                                                                                                                                                                                     
smtp_host = "***********.amazonaws.com                                                                                                                                                                                                    
smtp_starttls = True                                                                                                                                                                                                                              
smtp_ssl = False                                                                                                                                                                                                                                  
smtp_user = user                                                                                                                                                                                                                  
smtp_port = 25                                                                                                                                                                                                                                    
smtp_password = password                                                                                                                                                                                      
smtp_mail_from = no-reply@example.com  
Run Code Online (Sandbox Code Playgroud)