作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在尝试获得一个 slack 消息回调来触发 SLA 未命中。我注意到:
slamiss/list/
on_failure_callback
成功运作sla_miss_callback
函数本身永远不会被触发。
sla
和 sla_miss_callback
在default_args
级别、DAG 级别和任务级别default_args = {
"owner": "airflow",
"depends_on_past": False,
'start_date': airflow.utils.dates.days_ago(n=0,minute=1),
'on_failure_callback': send_task_failed_msg_to_slack,
'sla': timedelta(minutes=1),
"retries": 0,
"pool": 'canary',
'priority_weight': 1
}
dag = airflow.DAG(
dag_id='sla_test',
default_args=default_args,
sla_miss_callback=send_sla_miss_message_to_slack,
schedule_interval='*/5 * * * *',
catchup=False,
max_active_runs=1,
dagrun_timeout=timedelta(minutes=5)
)
def sleep():
""" Sleep for 2 minutes """
time.sleep(90)
LOGGER.info("Slept for 2 minutes")
def simple_print(**context):
""" Prints a message """
print("Hello World!")
sleep = PythonOperator(
task_id="sleep",
python_callable=sleep,
dag=dag
)
simple_task = PythonOperator(
task_id="simple_task",
python_callable=simple_print,
provide_context=True,
dag=dag
)
sleep >> simple_task
最佳答案
我曾经处于类似的情况。
在调查调度程序日志时,我发现了以下错误:
[2020-07-08 09:14:32,781] {scheduler_job.py:534} INFO - --------------> ABOUT TO CALL SLA MISS CALL BACK
[2020-07-08 09:14:32,781] {scheduler_job.py:541} ERROR - Could not call sla_miss_callback for DAG
sla_miss_alert() takes 1 positional arguments but 5 were given
问题是你的
sla_miss_callback
函数只需要 1 个参数,但实际上这应该是这样的:
def sla_miss_alert(dag, task_list, blocking_task_list, slas, blocking_tis):
"""Function that alerts me that dag_id missed sla"""
# <function code here>
作为引用,请查看
Airflow source code .
sla_miss_callback=sla_miss_alert
在
default_args
.它应该在 DAG 定义本身中定义。
关于 Airflow sla_miss_callback 函数未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59959290/
我一直在尝试获得一个 slack 消息回调来触发 SLA 未命中。我注意到: SLA 未命中在 Airflow Web UI 中成功注册slamiss/list/ on_failure_callbac
我能够成功实现和测试 on_success_callback 和 on_failure_callback 在 Apache Airflow 中,包括能够使用上下文对象成功地将参数传递给它们。但是我无法
我是一名优秀的程序员,十分优秀!