Что произойдет, если запустить один и тот же даг несколько раз, пока он уже работает? - PullRequest
2 голосов
/ 10 октября 2019

Что произойдет, если один и тот же dag будет запущен одновременно (или так, что время выполнения пересекается)?

Запрашиваемая, потому что недавно вручную сработал dag, который все еще работал, когда прошло его фактическое запланированное время выполнения, вс этой точки зрения, с точки зрения пользовательского интерфейса веб-сервера, он снова начал работать с самого начала (и я больше не мог отслеживать предыдущий экземпляр). Это просто случай, когда «экземпляр запуска» перегружает dag_id или задание буквально перезапускается (т. Е. Предыдущие процессы убиты)?

1 Ответ

1 голос
/ 10 октября 2019

Насколько я понимаю, это зависит от того, как он был запущен, и от того, есть ли у DAG расписание. Если оно основано на расписании, определенном в группе обеспечения доступности баз данных, скажите, что задание выполняется ежедневно, оно не выполнено / все еще работает, и вы щелкнете по перезапуску, то этот экземпляр задачи будет перезапущен. то есть тот на сегодня. Аналогично, если бы частота была любой другой единицей времени.

  • Если вы хотите перезапустить другие экземпляры, вам нужно удалить их из предыдущих заданий, как описано @ lars-haughseth в другом вопросе. airflow-re-run-dag-from-start-with-new-schedule
  • Если вы запустите прогон DAG, он получит метку времени выполнения триггеров, и прогон будет отображаться отдельнок запланированным пробегам. Как описано в документации здесь. документация по внешним триггерам

Обратите внимание, что прогоны DAG также можно создавать вручную через CLI при выполнении команды trigger_dag воздушного потока, где вы можете определить конкретный run_id. Запуски DAG, созданные внешне для планировщика, будут связаны с отметкой времени триггера и будут отображаться в пользовательском интерфейсе вместе с запланированными запусками DAG.

В вашем случае это звучит как последнее. Надеюсь, это поможет.

...