Как можно установить переменную для использования только во время определенного dag_run
Как установить переменную для использования во время определенного dag_run. Я знаю о настройке значений в xcom, но не все операторы, которые я использую, имеют поддержку xcom. Я также не хотел бы сохранять значение в хранилище данных Variables, в случае, если во время выполнения текущего запуска начинается другой тест, в котором нужно хранить различные значения.
1 ответ
Вопрос не ясен, но из того, что я могу сделать вывод, я попытаюсь очистить ваши сомнения
не все операторы, которые я использую, имеют поддержку xcom
Видимо вы ошиблись xcom
с какой-то другой конструкцией, потому что xcom
особенность является частью TaskInstance
и функции xcom_push()
а также xcom_pull()
определены в BaseOperator
сам (который является родителем всех Airflow
operator
s)
Я также не хотел бы сохранять значение в хранилище данных Variables, в случае, если во время выполнения текущего запуска начинается другой тест, в котором нужно хранить различные значения.
Это просто (и не просто), чтобы отделить Variable
с на DAG
базис (см. пункт (6)); но да для разных DagRun
с одного DAG
такой вид изоляции будет проблемой. Я могу думать о xcom
чтобы быть самым легким обходным путем для этого. Взгляните на это, чтобы получить представление об использовании Xcom
s.
Кроме того, если вы хотите манипулировать Variable
с (или любой другой Airflow
модель) во время выполнения (хотя я бы порекомендовал вам избегать его особенно для Variable
с), Airflow
также дает полную свободу в использовании основных SQLAlchemy ORM
рамки для этого. Вы можете черпать вдохновение из этого.