我使用 Apache Airflow,我希望它能够在 SLA 未命中时发送电子邮件通知。我将电子邮件地址存储为气流变量,并且我有一个 dag,其任务之一使用 EmailOperator 发送电子邮件。
问题来了,因为当我向所有收件人运行发送邮件任务时,它会发送电子邮件,但它只会向列表中的第一个地址发送 sla 未命中通知,在我的示例中这意味着[电子邮件受保护].
这是一些错误,还是为什么它不起作用?
Here's my dag and airlfow variable:
from airflow import DAG
from datetime import datetime, timedelta
from airflow.operators.email_operator import EmailOperator
from airflow.models import Variable
from airflow.operators.slack_operator import SlackAPIPostOperator
email = Variable.get("test_recipients")
args = {
'owner': 'airflow'
, 'depends_on_past': False
, 'start_date': datetime(2018, 8, 20, 0, 0)
, 'retries': 0
, 'email': email
, 'email_on_failure': True
, 'email_on_retry': True
, 'sla': timedelta(seconds=1)
}
dag = DAG('sla-email-test'
, default_args=args
, max_active_runs=1
, schedule_interval="@daily")
....
t2 = EmailOperator(
dag=dag,
task_id="send-email",
to=email,
subject="Testing",
html_content="<h3>Welcome to Airflow</h3>"
)