You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Airflow任务实例获取失败:DAG停滞且task_fail列不存在报错

Airflow任务持续运行无结果,task_fail表列不存在错误

使用Airflow Bash Operator运行简单任务时,DAG始终处于运行状态(持续显示绿色),没有成功或失败的结果。查看日志发现以下错误信息:

airflow-scheduler_1  | [SQL: INSERT INTO task_fail (task_id, dag_id, execution_date, start_date, end_date, duration) VALUES (%(task_id)s, %(dag_id)s, %(execution_date)s, %(start_date)s, %(end_date)s, %(duration)s) RETURNING task_fail.id]
airflow-scheduler_1  | [parameters: {'task_id': 'first_task', 'dag_id': 'LocalInjestionDag', 'execution_date': datetime.datetime(2023, 1, 20, 8, 0, tzinfo=Timezone('UTC')), 'start_date': datetime.datetime(2023, 1, 23, 3, 35, 27, 332954, tzinfo=Timezone('UTC')), 'end_date': datetime.datetime(2023, 1, 23, 3, 35, 27, 710572, tzinfo=Timezone('UTC')), 'duration': 0}]

postgres_1           | 2023-01-23 03:55:59.712 UTC [4336] ERROR:  column "execution_date" of relation "task_fail" does not exist at character 41

问题原因

Airflow元数据库的task_fail表结构与当前Airflow版本不匹配,缺少execution_date列。通常是版本升级后未执行数据库迁移,或初始化时表结构创建不完整导致。

解决步骤

  • 停止Airflow所有服务(scheduler、webserver、worker等)
  • 执行数据库迁移命令,更新元数据表结构:
    airflow db upgrade
    
  • 重启Airflow服务,重新触发DAG任务

额外提示

  • 无需继续尝试改用execution_datetime、xcom操作或切换Operator,这些操作无法解决表结构不匹配的核心问题
  • 确保Airflow版本与元数据库表结构对应,避免跨版本不兼容
  • 迁移后仍有问题时,检查元数据库连接配置是否正确,确认Airflow能正常读写数据库

内容的提问来源于stack exchange,提问作者Efe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 02:55:16