气流触发dag故障

时间:2018-07-27 08:49:09

标签: python python-3.x airflow pymysql directed-acyclic-graphs

我正在尝试从python代码中手动触发dag,如下所示:

from airflow_local.operators.mmttrigger_dagrun_operator import \
MMTTriggerDagRunOperator

# in loop
MMTTriggerDagRunOperator(
            task_id='trigger_dagrun',
            execution_date=datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S'),
            python_callable=trigger_dag,
            trigger_dag_id=log_fetch).execute(kwargs)

time.sleep(1)

此代码置于有限循环中。 我知道,对于相同的dag触发器尝试,每次dag运行的执行日期都必须是唯一的,这解释了time.sleep(1) 但是,在运行循环之后,成功触发了一些dag,并且循环因尝试将重复的条目插入到气流数据库的dag_stats表中而出错而停止

  

错误:   (pymysql.err.IntegrityError)(1062,“键'PRIMARY'的重复条目'log_fetch-running'”))[SQL:'INSERT INTO dag_stats(dag_id,state,count,dirty)值(%(dag_id)s,% (state)s,%(count)s,%(dirty)s)'] [参数:{'dag_id':log_fetch','state':'running','count':0,'dirty':1} ]

我无法理解这种行为,因此,如果有人可以帮助我找出导致此错误的原因,我将不胜感激。

谢谢。

0 个答案:

没有答案