Как поставить в очередь засыпки в airflow?

У меня есть DAG, где max_active_runs установлено на 2, но теперь я хочу запустить заполнение для 20 прогонов. На самом деле я ожидал, что воздушный поток как бы запланирует все засыпки, но запустит только 2 за раз, но, похоже, этого не происходит. Когда я запускаю команду обратной засыпки, она запускает две, но команда не возвращается, поскольку ей не удалось запустить их все, вместо этого она продолжает попытки, пока не добьется успеха.

Итак, чего я ожидал, так это:

  1. Я выполнил команду обратной засыпки
  2. Все прогоны отмечены как запущенные
  3. Команда возвращается, так как теперь все должно быть запланировано
  4. Два запуска начинаются

Что я испытал:

  1. Я выполнил команду обратной засыпки
  2. Два прогона помечаются как запущенные и начинаются
  3. Команда не возвращается, так как не может запустить остальные

Опытное поведение затрудняет простой запуск обратной засыпки и выключение компьютера. Значит я что-то не так делаю?

Обновление Использование trigger_dag вместо обратной засыпки сделало то, что я хотел. При запуске с обратной засыпкой кажется, что команда должна быть запущена, чтобы она продолжилась, это странно. Разница с trigger_dag в том, что он запускает даг, а затем позволяет воздушному потоку справиться с ним. Может быть, это как-то связано с тем, как выполняется команда обратной засыпки при использовании gcloud composer environments run <env> --location=<location> backfill -- ...?


person Tomas Jansson    schedule 21.12.2018    source источник
comment
Каковы ваши настройки параллелизма DAG и max_active_runs?   -  person trejas    schedule 24.12.2018
comment
Параллелизм составляет около 10 или более, а максимальное количество активных запусков было 2. Насколько я знаю, это не должно было быть проблемой.   -  person Tomas Jansson    schedule 03.01.2019
comment
Что, если вы запустите команду в Cloud Shell, а не на машине, которая может перейти в спящий режим?   -  person vdolez    schedule 13.05.2021