Size: a a a

2020 December 28

GB

Georgy Borodin in Airflow
Sergey Gavrilov
Думаю, код будет достаточно ясным:
       for dag_run in DagRun.find(dag_id=self.analyticsDagId, state=State.FAILED):  # type: DagRun
           for ti in dag_run.get_task_instances(state=State.FAILED):  # type: TaskInstance
               clear_task_instances([ti], Session, activate_dag_runs=True)
               return
Это не решит проблему последовательного бэкфилла, там с токенами очень всё не для людей у сервиса
источник

GB

Georgy Borodin in Airflow
Плюс, если задача стоит грузить сначала первый день, исторические данные таким макаром не достать, кроме как руками триггерить
источник

SG

Sergey Gavrilov in Airflow
Georgy Borodin
Это не решит проблему последовательного бэкфилла, там с токенами очень всё не для людей у сервиса
Не очень понимаю связь между токеном и бэкфиллом, если честно. Последовательность даёт сортировка по дате зафейленных дагранов
источник

ФЧ

Филипп Чистяков... in Airflow
Sergey Gavrilov
Не очень понимаю связь между токеном и бэкфиллом, если честно. Последовательность даёт сортировка по дате зафейленных дагранов
Я так понимаю, что Георгий про сервис из которого я выгружаю данные, там в их api очень много подводных камней
источник

GB

Georgy Borodin in Airflow
Sergey Gavrilov
Не очень понимаю связь между токеном и бэкфиллом, если честно. Последовательность даёт сортировка по дате зафейленных дагранов
AppsFlyer даёт небольшое количество использований токена ежедневно. И сжигает их за 99% запросов. Оверлап случится рано или поздно, если даг раны чистить, и выйдет ерунда
источник

SG

Sergey Gavrilov in Airflow
Ну сорян, но обновлением токена должен заниматья класс / таск, который обеспечивает загрухку данных, а не таска, которая обнуляет таскИнстансы)
источник

GB

Georgy Borodin in Airflow
Sergey Gavrilov
Ну сорян, но обновлением токена должен заниматья класс / таск, который обеспечивает загрухку данных, а не таска, которая обнуляет таскИнстансы)
Ну тут задача даже не в обновлении, у тебя просто n операций на день)
источник

SG

Sergey Gavrilov in Airflow
Я для Google Analytics-а такую напилил за пару часов, не думаю, что AppFlyer сильно сложнее
источник

v

vasiliy in Airflow
Коллеги, доброго времени суток. Быть может уже есть нормальный докерфайл с Airflow 2.0 и helm чарт, никто не щупал?
источник

ФЧ

Филипп Чистяков... in Airflow
Sergey Gavrilov
Я для Google Analytics-а такую напилил за пару часов, не думаю, что AppFlyer сильно сложнее
Я для га тоже напилил за пару часов)
источник

SG

Sergey Gavrilov in Airflow
Georgy Borodin
Ну тут задача даже не в обновлении, у тебя просто n операций на день)
Ну, если я предлагаю считать ошибки, то можно поблизости в том же KeyValueStorage считать и запросы, чтобы фейлить все последующие таскраны
источник

SG

Sergey Gavrilov in Airflow
И обнуляющая таска всё это добро врубает в тот момент, когда "узнаёт", что всё, можно запрашивать новый токен
источник

SG

Sergey Gavrilov in Airflow
Просто я сейчас не рисую что-то мегасовершенное, а это единственный способ утилизации 1-го аккаунту по-максимуму. Если вы начинаете создавать много бесплатных аккаунтов и перекидываете во время записи токены учёток как "горячую картошку", то тут уже начинается "рокет саенс", но для этого надо быть в курсе AppsFlyers, к чему я, увы, отношения не имею
источник

IK

Ivan Kizimenko in Airflow
я может чего то не пойму, но надо ли что то подключать чтобы использовать Jinja переменные в дагах:
AIrflow 2
Обычный питон оператор, в строке вставляю {{ ds }}  но магии не просиходит и там так и остается  {{ ds }}
источник

GB

Georgy Borodin in Airflow
Ivan Kizimenko
я может чего то не пойму, но надо ли что то подключать чтобы использовать Jinja переменные в дагах:
AIrflow 2
Обычный питон оператор, в строке вставляю {{ ds }}  но магии не просиходит и там так и остается  {{ ds }}
Если мне не изменяет память (не пользуюсь практически темлэйтами), то они работают только в специально предназначенных для этого местах
источник

ME

Max Efremov in Airflow
А оно во всех полях темплейтное стало?
источник

ME

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

IK

Ivan Kizimenko in Airflow
Max Efremov
А оно во всех полях темплейтное стало?
В доках что-то не нашел, думал везде и работает
источник

GB

Georgy Borodin in Airflow
Ivan Kizimenko
я может чего то не пойму, но надо ли что то подключать чтобы использовать Jinja переменные в дагах:
AIrflow 2
Обычный питон оператор, в строке вставляю {{ ds }}  но магии не просиходит и там так и остается  {{ ds }}
Все эти темплэйт-переменные можно сдёргивать, если передавать контекст оператору task = PythonOperator(..., provide_context=True)
источник

ME

Max Efremov in Airflow
Там обычно в классе есть список полей, где работают темплейты
источник