Воздушный поток: как получить доступ к запущенной задаче из экземпляра задачи? - PullRequest
0 голосов
/ 24 октября 2018

Это моя ситуация:

Я пытаюсь получить доступ к экземпляру моего пользовательского оператора, работающего в другой группе обеспечения доступности баз данных.Я могу получить правильные объекты DagRun и TaskInstance, выполнив следующие действия.

dag_bag = DagBag(settings.DAGS_FOLDER)
target_dag = dag_bag.get_dag('target_dag_id')
dr = target_dag.get_dagrun(target_dag.latest_execution_date)
ti = dr.get_task_instance('target_task_id')

Я распечатал объект TaskInstance, полученный по указанным выше линиям, и он правильный (он запущен / имеет правильный task_id и т. Д..), однако, когда я не могу получить доступ к объекту задачи, что позволило бы мне взаимодействовать с работающим оператором.Я должен быть в состоянии сделать следующее:

running_custom_operator = ti.task #AttributeError: TaskInstance has not attribute task

Любая помощь будет высоко ценится, либо следуя моему подходу, или если кто-то знает, как получить доступ к объекту задачи запущенного экземпляра задачи.

Спасибо

1 Ответ

0 голосов
/ 24 октября 2018

Вы можете просто получить объект задачи из объекта DAG: target_dag.task_dict["target_task_id"]

...