Подтвердить что ты не робот

Как предотвратить воздушный поток от засыпания?

Скажем, у вас есть DAG воздушного потока, который не имеет смысла для обратной засыпки, а это означает, что после того, как он запускается один раз, запуск его в последующие времена будет совершенно бессмысленным.

Например, если вы загружаете данные из какого-то источника, который ежечасно обновляется только в вашей базе данных, засыпка, которая происходит в быстрой последовательности, будет просто импортировать одни и те же данные снова и снова.

Это особенно раздражает, когда вы создаете новую часовую задачу, и она запускает N количество раз за каждый пропущенный час, делая избыточную работу, прежде чем она начнет работать в указанном вами интервале.

Единственное решение, о котором я могу думать, это то, о чем они конкретно советовали в FAQ по документам

Мы не рекомендуем использовать динамические значения как start_date, особенно datetime.now() поскольку это может быть довольно запутанным.

Есть ли способ отключить повторное заполнение для DAG, или я должен сделать это выше?

4b9b3361

Ответ 2

Это, по-видимому, нерешенная проблема Airflow. Я знаю, что мне очень хотелось бы иметь точно такую ​​же особенность. Вот, насколько я получил; он может быть полезен другим.

Это функции пользовательского интерфейса (по крайней мере, в 1.7.1.3), которые могут помочь в решении этой проблемы. Если вы перейдете в представление "Дерево" и выберите конкретную задачу (квадратные квадратики), появится диалоговая кнопка с кнопкой "Успех знака". Нажав "минус", нажмите "отметить успех", и все экземпляры этой задачи в DAG будут отмечены как успешные, и они не будут запущены. Верхний уровень DAG (круги сверху) также может быть помечен как успешный аналогичным образом, но, похоже, не существует способа обозначить несколько экземпляров DAG.

Я еще недостаточно изучил его, но может быть возможно использовать подкоманду 'trigger_dag' для обозначения состояний DAG. см. здесь: https://github.com/apache/incubator-airflow/pull/644/commits/4d30d4d79f1a18b071b585500474248e5f46d67d

Функция CLI для маркировки DAG находится в работе: http://mail-archives.apache.org/mod_mbox/airflow-commits/201606.mbox/%[email protected]%3E https://github.com/apache/incubator-airflow/pull/1590

ОБНОВЛЕНИЕ (9/28/2016): Добавлен новый оператор "LatestOnlyOperator" (https://github.com/apache/incubator-airflow/pull/1752), который будет запускать только последнюю версию последующих задач. Звучит очень полезно и, надеюсь, скоро выйдет в релиз.

ОБНОВЛЕНИЕ 2: От воздушного потока 1.8 освобожден LatestOnlyOperator.