Как автоматически перепланировать задачи воздушного потока - PullRequest
0 голосов
/ 21 апреля 2019

Я выполняю почасовой процесс, который собирает данные из одного местоположения («источник») и перемещает их в другое («пункт назначения»).по большей части, данные поступают к моему источнику в определенное время, и все работает нормально, но могут быть задержки, и когда это происходит, задача в потоке воздуха не выполняется и ее необходимо повторно запустить вручную.Один из способов решения этой проблемы - дать больше времени для получения данных, но я предпочитаю делать это только в случае задержки.Кроме того, я не хотел бы иметь датчик, который ожидает данные в течение длительного времени, так как это может вызвать взаимные блокировки (желательно, чтобы не выполнялась почасовая задача более 1 часа).Позволяет ли воздушный поток выполнять какое-либо перепланирование задачи для данного условия (сбой или данные отсутствуют), чтобы нам не приходилось повторно запускать сбойные задачи вручную?

Спасибо!

1 Ответ

1 голос
/ 21 апреля 2019

Проверьте следующие параметры для BaseOperator (это родительский класс для всех операторов):

  • retry_delay (timedelta) - задержка между попытками
  • retry_exponential_backoff (bool) - разрешить прогрессивное более длительное ожидание между повторными попытками, используя алгоритм экспоненциального отката при задержке повторных попыток (задержка будет преобразована в секунды)
  • max_retry_delay (timedelta) - максимальный интервал задержки между попытками

Получение хорошего сочетания этих трех должно дать вам то, что вы хотите.

https://incubator -airflow.readthedocs.io / ен / последний / code.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...