Size: a a a

2020 July 29

ДН

Дмитрий Негреев... in Airflow
интересно можно ли сенсору сказать "проверяй последний"
источник

RK

Roman Kazakov in Airflow
Дмитрий Негреев
а что если между расписаниями manual запустить и он зафейлится?
он же в этом случае не его проверит, а тот execution_date, который последний по расписанию был
Сенсор можно любой по пробовать сделать. Но что-то мне кажется это какое сложное решение (
источник

ДН

Дмитрий Негреев... in Airflow
Ну да, в случае с airflow проще идемпотентность на уровне таски соблюдать
источник

ME

Max Efremov in Airflow
Roman Kazakov
Сенсор можно любой по пробовать сделать. Но что-то мне кажется это какое сложное решение (
в идеале надо чтобы в настройках дага было такое: не начинай следующий ран, пока прошлый не закончил
источник

ME

Max Efremov in Airflow
Дмитрий Негреев
Ну да, в случае с airflow проще идемпотентность на уровне таски соблюдать
не подойдёт, если каждый запуск дага - обработка одного дня, а каждый следующий день считает дельту с предыдущим
источник

E

Evgeny in Airflow
всем привет. Уверен, что уже не раз поднимался сей вопрос.
У нас тестовый эйрфло крутится в докере. Для воркера, шедулера и веб-сервера созданы разные контейнеры. Я запилил кастомный оператор и хочу его заимпортить в даг. Естественно, получаю ошибку “no module named …”.
Пайтон файл my_module.py я положил на воркере в папку plugins. Создал там же init.pyinit.py файл. В переменной PYTHONPATH хранится путь к этой папке. В даге импорчу с помощью from my_module import MyCoolOperator.
В чём может быть затык?
источник

ИХ

Ильяс Хакиев... in Airflow
Evgeny
всем привет. Уверен, что уже не раз поднимался сей вопрос.
У нас тестовый эйрфло крутится в докере. Для воркера, шедулера и веб-сервера созданы разные контейнеры. Я запилил кастомный оператор и хочу его заимпортить в даг. Естественно, получаю ошибку “no module named …”.
Пайтон файл my_module.py я положил на воркере в папку plugins. Создал там же init.pyinit.py файл. В переменной PYTHONPATH хранится путь к этой папке. В даге импорчу с помощью from my_module import MyCoolOperator.
В чём может быть затык?
airflow initdb делали?
у меня без этого новые даги не добавляются
источник

E

Evgeny in Airflow
упс, нет
источник

Р

Роман in Airflow
подскажите, как сделать, чтобы следующий даг ран запускался только после полного прохождения предыдущего? concurrency=1 стоит
источник

ME

Max Efremov in Airflow
Переслано от Max Efremov
Рекомендую max_active_runs=1
источник

ME

Max Efremov in Airflow
Переслано от Max Efremov
О, ExternalTaskSensor, интересно. Надо тогда переделать, чтобы не фейлилось, а ждало тоже, спасибо!
источник

ME

Max Efremov in Airflow
прям чууть выше было
источник

Р

Роман in Airflow
спасибо
источник

SK

Serhii Kholodniuk in Airflow
Max Efremov
Переслано от Max Efremov
О, ExternalTaskSensor, интересно. Надо тогда переделать, чтобы не фейлилось, а ждало тоже, спасибо!
Насколько понимаю сенсор создан для разных дагов. Пробую один ДАГ, его не подхватует сенсор
источник

ME

Max Efremov in Airflow
На SO в примере один и тот же, но я сам пока не пробовал ещё
источник

ME

Max Efremov in Airflow
У меня вообще выдало на том примере:
AttributeError: type object 'DAG' has no attribute 'default_args'
источник

ME

Max Efremov in Airflow
а, там регистр перепутали)
источник

ME

Max Efremov in Airflow
Пока что-то не понятно, как оно работает. Вообще, если он в самом первом запуске будет ждать, чтобы у этого дага все таски завершились, это не будет рекурсией?
источник

ME

Max Efremov in Airflow
[2020-07-29 14:07:10,568] {logging_mixin.py:112} INFO - Running %s on host %s <TaskInstance: TEST_DAG.Previous_Run 2018-10-01T00:00:00+00:00 [running]> 4fc4ee581240
[2020-07-29 14:07:10,584] {external_task_sensor.py:117} INFO - Poking for TEST_DAG.All_Tasks_Completed on 2018-09-30T23:59:00+00:00 ...
[2020-07-29 14:08:10,593] {external_task_sensor.py:117} INFO - Poking for TEST_DAG.All_Tasks_Completed on 2018-09-30T23:59:00+00:00 ...
[2020-07-29 14:09:10,668] {external_task_sensor.py:117} INFO - Poking for TEST_DAG.All_Tasks_Completed on 2018-09-30T23:59:00+00:00 ...
источник

ME

Max Efremov in Airflow
Вот он висит и ждёт, когда прошлый запуск завершится))) А его вообще нет)
источник