Size: a a a

2021 March 10

М

Михаил in Airflow
это указывается параметрах?
источник

М

Михаил in Airflow
Федор Мануковский
кажется, это mode='reschedule' у сенсора
У меня сейчас так

sensor = SqlSensor(
              conn_id='TEST'
              ,task_id = 'sensor_eid'
              ,dag=dag
              ,sql="""select false
                      """
              ,retries = 40
              ,retry_delay = dt.timedelta(minutes=30)
              )

должно быть так?

sensor = SqlSensor(
              conn_id='TEST'
              ,task_id = 'sensor_eid'
              ,dag=dag
              ,sql="""select false
                      """
              ,retries = 40
              ,retry_delay = dt.timedelta(minutes=30)
              ,mode = 'reschedule'
              )
источник

ФМ

Федор Мануковский... in Airflow
Михаил
У меня сейчас так

sensor = SqlSensor(
              conn_id='TEST'
              ,task_id = 'sensor_eid'
              ,dag=dag
              ,sql="""select false
                      """
              ,retries = 40
              ,retry_delay = dt.timedelta(minutes=30)
              )

должно быть так?

sensor = SqlSensor(
              conn_id='TEST'
              ,task_id = 'sensor_eid'
              ,dag=dag
              ,sql="""select false
                      """
              ,retries = 40
              ,retry_delay = dt.timedelta(minutes=30)
              ,mode = 'reschedule'
              )
yup
источник

М

Михаил in Airflow
@feodorman Спасибо, все сработало
источник

JF

Justice For All in Airflow
Подскажите каким будет правильный подход в следующей ситуации:
Мне нужно достать из базы определенный набор отфильтрованных записей и на основе их запустить по таску на каждую запись. За основу брал пример example_bash_operator - в нем таски генерятся прямо в коде ДАГа. Вопрос следующий: запрос к базе тоже делать прямо в коде дага в "чистом поле"? Или всё-таки нужно  какой-то предварительный таск-оператор (PostgresOperator) сделать, а потом как-то от него передавать данные?
источник
2021 March 11

im

igor musinov in Airflow
Justice For All
Подскажите каким будет правильный подход в следующей ситуации:
Мне нужно достать из базы определенный набор отфильтрованных записей и на основе их запустить по таску на каждую запись. За основу брал пример example_bash_operator - в нем таски генерятся прямо в коде ДАГа. Вопрос следующий: запрос к базе тоже делать прямо в коде дага в "чистом поле"? Или всё-таки нужно  какой-то предварительный таск-оператор (PostgresOperator) сделать, а потом как-то от него передавать данные?
1. файл Дага постоянно импортируется scheduler . Если там будет какой-то код вне функций особенно обращение к бд - это будет флуд
2. Почему просто не сделать все в одной таске ?
источник

JF

Justice For All in Airflow
igor musinov
1. файл Дага постоянно импортируется scheduler . Если там будет какой-то код вне функций особенно обращение к бд - это будет флуд
2. Почему просто не сделать все в одной таске ?
В одной таске это всё делать нет смысла, т.к. есть необходимость эти таски запускать параллельно, но с ограничением на количество параллельно работающих тасков (в данный момент использую для этого пул). По этой причине собственно и стал смотреть в сторону airflow, а не просто обычного скрипта на питоне.

А какие еще есть способы нагенерировать таски динамически? Чтобы по феншую, так скзать.
источник

А

Анастасия in Airflow
Те, кто перешел на 2.0, подскажите, а у TaskGroups есть возможность перезапустить даг с определенной группы, если все упало, или оно просто для красоты в tree view?
источник

C

Combot in Airflow
Добро пожаловать в самое дружелюбное комьюнити.
источник

А

Адиль in Airflow
Анастасия
Те, кто перешел на 2.0, подскажите, а у TaskGroups есть возможность перезапустить даг с определенной группы, если все упало, или оно просто для красоты в tree view?
Unlike SubDagOperator, TaskGroup is a UI grouping concept.
источник

А

Анастасия in Airflow
Адиль
Unlike SubDagOperator, TaskGroup is a UI grouping concept.
Да, я видела. Искала в концептах на гифке какую-нибудь кнопку запуска группы
источник

D

Dmitry in Airflow
Всем привет! Доводилось ли кому нибудь с сервера airflow с помощью таски передавать файлы на другой сервер? Не работает scp, ключ открытый на другой сервак закинул вроде, но самого доступа прямого на сервер airflow нет, через воркэраунд ключ смог вытащить и создать новый файл на другом сервак руками. Может кто имел опыт и может направить на путь истинный?) bash оператор падает, мол authorised connection faild
источник

AV

Alexandr Vladimirovi... in Airflow
Коллеги, подскажите плиз, если запустить backfill ДАГа при указании в рамках ДАГа max_active_runs=1, то он не должен ведь параллельно запускать все date по DAG (параллельно даг не запускается)
источник

А

Анастасия in Airflow
Какие есть подводные камни использования TriggerDagRunOperator?
источник
2021 March 12

DY

Dmitry Yakimets in Airflow
Анастасия
Какие есть подводные камни использования TriggerDagRunOperator?
Если нужно по каким-то причинам выключить дочерний оператор, то это не тривиальная задача. Если просто его выключить в UI, а потом включить, то все те разы, что его дергали, пока он спал, начнут выполняться. Даже если у него catchup=False...
источник

А

Анастасия in Airflow
Dmitry Yakimets
Если нужно по каким-то причинам выключить дочерний оператор, то это не тривиальная задача. Если просто его выключить в UI, а потом включить, то все те разы, что его дергали, пока он спал, начнут выполняться. Даже если у него catchup=False...
А вообще существует практика построения workflow, как несколько идущих подряд TriggerDagRunOperator, которые ждут выполнения предыдущего?
источник

ME

Max Efremov in Airflow
Анастасия
А вообще существует практика построения workflow, как несколько идущих подряд TriggerDagRunOperator, которые ждут выполнения предыдущего?
Триггеры же для внешних дагов?
источник

ME

Max Efremov in Airflow
Триггер и сенсор, у меня они в паре идут
источник

А

Анастасия in Airflow
Max Efremov
Триггеры же для внешних дагов?
Ну да, управляющий даг, который дёргает другие
источник

DY

Dmitry Yakimets in Airflow
Анастасия
А вообще существует практика построения workflow, как несколько идущих подряд TriggerDagRunOperator, которые ждут выполнения предыдущего?
Можно дергать другие даги и ждать, но я ни разу не пробовал так
источник