首页/数据/数据工程与 ETL 速查/重试策略与告警分级

重试策略与告警分级

重试要区分错误类型:网络抖动、资源竞争适合自动重试;数据质量问题、代码缺陷重试只是延迟告警。告警要分级并带上下文(任务、业务日期、日志链接)。

重试参数retries、retry_delay、重试间隔退避
告警失败告警、超时告警、连续失败升级
上下文DAG/任务名、业务日期、执行实例链接

Airflow default_args 示例

Airflow default_args 示例
from datetime import timedelta

default_args = {
    'retries': 3,
    'retry_delay': timedelta(minutes=5),
    'email_on_failure': True,
    'email': ['data-oncall@example.com'],
}
dag = DAG('daily_orders', default_args=default_args, schedule='0 2 * * *')
重试次数乘以间隔会决定最晚告警时间:3 次 ×5 分钟意味着故障要 15 分钟后才彻底暴露。

易错点

  • 把数据错误也自动重试,会造成“反复失败—重试”循环并掩盖根因
  • 告警没有业务日期信息,值班无法判断影响范围

数据来源与参考

  • Apache Airflow 官方文档:Task Retries 与 Email 告警配置
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌