У нас есть оператор модуля kubernetes, который выплюнет питона
словарь, который определит, какой дальнейший вниз по течению стручок kubernetes
операторы для запуска
Это возможно, хотя и не так, как вы пытаетесь. Вам нужно будет иметь все возможные KubernetesPodOperator
s уже в вашем рабочем процессе, а затем пропустить те, которые не нужно запускать .
Элегантный способ сделать это - прикрепить ShortCircuitOperator
перед каждым KubernetesPodOperator
, читающим опубликованный XCom
( словарь ) восходящим потоком KubernetesPodOperator
и определяет, следует ли продолжить выполнение нижестоящего задания.
EDIT-1
На самом деле более чистым способом было бы просто поднять AirflowSkipException
внутри задачи, которую вы хотите пропустить (вместо использования отдельного ShortCircuitOperator
для этого)
Как мне получить этот словарь Python ... чтобы поток воздуха мог порождать
операторы нисходящего kubernetes ..
Нет. Вы не можете динамически создавать новые задачи , основываясь на результатах восходящей задачи .
Подумайте об этом так: для scheduler
обязательно знать все задачи (их task_id
с, trigger_rule
с, priority_weight
и т. Д.) Заблаговременно, чтобы иметь возможность выполнить их, когда подходящее время наступает Если бы задачи просто продолжали появляться динамически, то планировщик Airflow
должен был бы стать похожим на планировщик Operating System (!). Для более подробной информации читайте РЕДАКТИРОВАТЬ-1 часть из это ответ