Будут ли задачи воздушного потока для разных дагов иметь расы, если меняются переменные env с тем же именем? - PullRequest
0 голосов
/ 30 октября 2019

Что бы произошло, если бы одновременно работали метки потока воздуха, когда каждая задача (скажем, BashOperator s) изменила одну и ту же переменную env? Смогут ли обе задачи отличаться от других? Будет ли поток воздуха влиять на условия гонки или изменения env будут влиять только на сценарии изолированно?

Обычно я думаю, что изменения env будут автономными в этом случае , но спрашиваю, потому что сделалУ меня были проблемы с ariflow в прошлом , когда установка значений os.environ[...] (на уровне определения даг) влияла на все даги.

* В настоящее время не могу проверить себя из-за проблем с настройкой режима LocalExecutor.

1 Ответ

0 голосов
/ 01 ноября 2019

Из обсуждений в списке рассылки воздушного потока выяснилось, что все исполнители Airflow используют подпроцессы (как минимум) для запуска задач. Таким образом, установка переменных среды не будет распространяться обратно «вверх» в родительский процесс.

Это также можно найти в документах :

Планировщик запускаетсяэкземпляр исполнителя, указанный в вашем airflow.cfg. Если это airflow.contrib.executors.local_executor.LocalExecutor, задачи будут выполняться как подпроцессы ;в случае airflow.executors.celery_executor.CeleryExecutor, airflow.executors.dask_executor.DaskExecutor и airflow.contrib.executors.mesos_executor.MesosExecutor задачи выполняются удаленно.

...