Airflow 1.10.10版中的Apache Airflow dagrun_操作符
将气流从V1.10.2迁移到V1.10.10时,我们的一个DAG具有dagrun_操作员类型的任务 任务的代码段如下所示。请假定存在DAGAirflow 1.10.10版中的Apache Airflow dagrun_操作符,airflow,airflow-operator,apache-airflow-xcom,Airflow,Airflow Operator,Apache Airflow Xcom,将气流从V1.10.2迁移到V1.10.10时,我们的一个DAG具有dagrun_操作员类型的任务 任务的代码段如下所示。请假定存在DAGDAG\u进程位置。 由触发器DAGrunOperator触发的DAG是DAG\u进程位置。这从类型为dummy_operator的任务开始[如果这可能是麻烦制造者,请给出提示] DAG运行良好。事实上,直到最后一行,前面提到的任务的python是可调用的。然后它出错了 [2020-06-09 11:36:22,838] {taskinstance.py:11
DAG\u进程位置。
由触发器DAGrunOperator
触发的DAG是DAG\u进程位置
。这从类型为dummy_operator
的任务开始[如果这可能是麻烦制造者,请给出提示]
DAG运行良好。事实上,直到最后一行,前面提到的任务的python是可调用的。然后它出错了
[2020-06-09 11:36:22,838] {taskinstance.py:1145} ERROR - No row was found for one()
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/airflow/models/taskinstance.py", line 983, in _run_raw_task
result = task_copy.execute(context=context)
File "/usr/local/lib/python3.6/site-packages/airflow/operators/dagrun_operator.py", line 95, in execute
replace_microseconds=False)
File "/usr/local/lib/python3.6/site-packages/airflow/api/common/experimental/trigger_dag.py", line 141, in trigger_dag
replace_microseconds=replace_microseconds,
File "/usr/local/lib/python3.6/site-packages/airflow/api/common/experimental/trigger_dag.py", line 98, in _trigger_dag
external_trigger=True,
File "/usr/local/lib/python3.6/site-packages/airflow/utils/db.py", line 74, in wrapper
return func(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/airflow/models/dag.py", line 1471, in create_dagrun
run.refresh_from_db()
File "/usr/local/lib/python3.6/site-packages/airflow/utils/db.py", line 74, in wrapper
return func(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/airflow/models/dagrun.py", line 109, in refresh_from_db
DR.run_id == self.run_id
File "/usr/local/lib64/python3.6/site-packages/sqlalchemy/orm/query.py", line 3446, in one
raise orm_exc.NoResultFound("No row was found for one()")
sqlalchemy.orm.exc.NoResultFound: No row was found for one()
然后执行该任务的on\u failure\u回调
,该可调用的所有代码按预期运行正常。这里的问题是为什么在python调用之后dagrun_操作符失败了
p.S:由触发器DAGrunOperator
触发的DAG,在这种情况下DAG\U进程\u pos
从类型为虚拟\u操作符的任务开始,添加到我的上述帖子中。我们发现,当我们从TriggerDagRunOperator
中删除execution\u date
参数时,它会工作。这是语法上的问题还是变化。另外,Airflow1.10.10存储库中提供的气流Dag示例没有Dagrun\u操作员的示例代码
[2020-06-09 11:36:22,838] {taskinstance.py:1145} ERROR - No row was found for one()
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/airflow/models/taskinstance.py", line 983, in _run_raw_task
result = task_copy.execute(context=context)
File "/usr/local/lib/python3.6/site-packages/airflow/operators/dagrun_operator.py", line 95, in execute
replace_microseconds=False)
File "/usr/local/lib/python3.6/site-packages/airflow/api/common/experimental/trigger_dag.py", line 141, in trigger_dag
replace_microseconds=replace_microseconds,
File "/usr/local/lib/python3.6/site-packages/airflow/api/common/experimental/trigger_dag.py", line 98, in _trigger_dag
external_trigger=True,
File "/usr/local/lib/python3.6/site-packages/airflow/utils/db.py", line 74, in wrapper
return func(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/airflow/models/dag.py", line 1471, in create_dagrun
run.refresh_from_db()
File "/usr/local/lib/python3.6/site-packages/airflow/utils/db.py", line 74, in wrapper
return func(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/airflow/models/dagrun.py", line 109, in refresh_from_db
DR.run_id == self.run_id
File "/usr/local/lib64/python3.6/site-packages/sqlalchemy/orm/query.py", line 3446, in one
raise orm_exc.NoResultFound("No row was found for one()")
sqlalchemy.orm.exc.NoResultFound: No row was found for one()