相关疑难解决方法(0)

如何将参数传递给 Airflow on_success_callback 和 on_failure_callback

我已经使用 on_success_callback 和 on_failure_callback 实现了关于成功和失败的电子邮件警报。

根据气流文档

上下文字典作为单个参数传递给此函数。

如何将另一个参数传递给这些回调方法?

这是我的代码

from airflow.utils.email import send_email_smtp

def task_success_alert(context):
    subject = "[Airflow] DAG {0} - Task {1}: Success".format(
        context['task_instance_key_str'].split('__')[0], 
        context['task_instance_key_str'].split('__')[1]
        )
    html_content = """
    DAG: {0}<br>
    Task: {1}<br>
    Succeeded on: {2}
    """.format(
        context['task_instance_key_str'].split('__')[0], 
        context['task_instance_key_str'].split('__')[1], 
        datetime.now()
        )
    send_email_smtp(dag_vars["dev_mailing_list"], subject, html_content)

def task_failure_alert(context):
    subject = "[Airflow] DAG {0} - Task {1}: Failed".format(
        context['task_instance_key_str'].split('__')[0], 
        context['task_instance_key_str'].split('__')[1]
        )
    html_content = """
    DAG: {0}<br>
    Task: {1}<br>
    Failed on: {2}
    """.format(
        context['task_instance_key_str'].split('__')[0], 
        context['task_instance_key_str'].split('__')[1], 
        datetime.now()
        )
    send_email_smtp(dag_vars["dev_mailing_list"], subject, html_content)

default_args …
Run Code Online (Sandbox Code Playgroud)

python airflow airflow-scheduler

5
推荐指数
2
解决办法
9188
查看次数

标签 统计

airflow ×1

airflow-scheduler ×1

python ×1