Воздушный поток - условная повторная попытка в KubernetesPodOperator - PullRequest
0 голосов
/ 01 июля 2019

Я хочу написать расширенный механизм повтора в своем операторе pube.

  1. если первое выполнение не удалось - перезапустите с большим объемом памяти Приведенный выше пример с шаблонизацией jinja не работает: - (
opr_kube = KubernetesPodOperator(
    namespace="development",
    image='bla',
    node_selectors={"servertype": "worker", "env": "development"},
    resources=pod.Resources(request_memory='{{task_instance.try_number}}g', limit_memory='{{task_instance.try_number}}g'),
    name="bla",
    task_id='bla',
    default_args=default_args,
    dag=dag
)
  1. Я хочу понять, произошла ли ошибка из-за нехватки памяти. есть интерфейс для распознавания этого? Я хочу написать внешнюю функцию в kube-cli

    • ловушка при повторной попытке здесь не имеет значения, потому что нет возможности снова вызвать оператор с большим объемом памяти.
    • когда я добавляю встроенную функцию внутри параметра, планировщик будет выполнять эту функцию каждые X секунд, и я хочу выполнить ее после неудачного выполнения задачи.

1 Ответ

0 голосов
/ 03 июля 2019

Я хочу понять, произошла ли ошибка из-за нехватки памяти:

По причине неудачных экземпляров задачи проверьте веб-интерфейс Airflow => DAG's Графическое представление

О параметре повторных попыток оператора Kubernetes, здесь - пример, но вы должны сначала понять причину неудачных задач.Нет причины иметь механизм дополнительных попыток памяти без проверки истинной причины проблемы.Пожалуйста, убедитесь, что ваши рабочие нагрузки, работающие через KubernetesPodOperator, в любом случае имеют достаточные ресурсы (вы также можете обратиться к руководству « Обеспечение соответствующих ресурсов для вашей среды », более конкретно для управляемой версии Airflow)

...