Airflow:如何重新启动冻结的task_instances更新数据库

时间:2018-04-10 14:27:11

标签: scheduler freeze airflow

我对气流1.8.2有疑问。 这个问题可能已在AIRFLOW-1641中修复,并且可能已在airflow 1.9.0中提供。但是,我无法升级并需要知道是否有人知道如何仅使用SQL重新启动task_istance。我知道这是一种不好的做法。 我的想法是在数据库中设置数据,以便调度程序重新加载并重新安排任务实例。

1 个答案:

答案 0 :(得分:0)

您需要将关联的dag_run表记录更新为,并将state列设置为“ running”,然后删除任何关联的task_instance记录。类似于以下内容

BEGIN;

UPDATE  dag_run
   SET  state = 'running'
 WHERE  (dag_id, execution_date) IN ( SELECT  dag_id
                                           ,  execution_date
                                        FROM  task_instance
                                       WHERE  [... criteria for "frozen" ...]
                                    GROUP BY  dag_id
                                           ,  execution_date);

DELETE FROM  task_instance
      WHERE  [... criteria for "frozen" ...];

COMMIT;