Нужно сделать бекофф систему для ETL на генераторах. Скажем у меня есть функция extract(generator) обернутый в бекофф декоратор, который просто оборачивает в try except return func() и пытается повторить это несколько раз скажем. Если я вызову из другой функции next(extract) и вовремя этого в extract вывалиться ошибка то, что произойдет?
@ru_python_beginners
Да? А по-моему вопрос серьезный
да это тролль же
О, тот самый
Ну если есть исключение, оно выводится. Если ты его перехватил, очевидно вернётся что возвращаешь
Хелпани моментом пж Можешь назвать основные аспекты,что надо изучить, чтобы сказать,тип я знаю питон? Потому что , например,про функции на питоне недавно увидел,а блин нигде в курсах этого нет
Бэкофф выглядит как то так, просто когда же мы вызываем next(generator) у нас же не происходит вызов функции, а передается управлению в эту функцию и потом уже у него yield возвращает значению. Т.е если я вызову в моем случаи a := next(extract), то в a у меня окажется объект генератора extract или как
У тебя тут нет генератора
Декоратор написать сможешь без Гугла? Сможешь объяснить что там как работает?
Что такое декоратор
Сильный вопрос
Давай в чат новичков обратно, а
* я там забанен блин тобой*
Интересно за что...
Интересно как так получилось)))
Python tutorial в доках
Это декоратор backoff, а сам генератор вот, просто у меня все три части ETL это генератор и получается что при вызове load у меня управление уходит в transform откуда управление уходит в extract, тот ходит в базу забирает и уже все обратно и так по кругу
Ща бы вопросы с Яндекс практикума сюда тащить, а не кураторам
Гугл зато не забанен. Ну реально про декораторы есть отличные статьи даже.
Че так замороченно, может airflow попробуешь?
Декоратор выше был, это я генератор скинул
Как они друг с другом связаны?
Задай вопрос в слаке, там куча студентов и кураторов, часть обучения - общение с ними, ты принимал правила об этом когда подписывался
Пока никак ну логика либо обернуть каждый генератор в этот декоратор бекофф либо обернуть функцию которая запускает etl в бекофф
Если ты обрешнешь генератор своим декоратором, ты будешь ловить ошибки только при создании экземпляра генератора, а не вызовах Некст
Вот у меня это вызвало недорозумение)
Может тебе все таки в сам extract обработку исключения тогда добпвить?
ладно негодяй, у тебя в идеале должно быть два класса (как ты помнишь из постгри читаем - в эластик грузим),в бакофф ты должен обернуть только те методы которые непосредственно фетчат/пишут данные
Ну если у меня оборвется коннект с бд, то что делать? Коннект создается вне класса extract и передается к нему) Думаю просто обернуть функцию которая запускает etl, и если возникнет ошибка то он запустит эту функцию заново)
на этот случай у тебя стейт есть
В идеале у тебя 3 класса гений) Extract Transform и Load
я очевидно про лоадер и аплоадер, в самом решении у тебя еще 4 класса моделей, 2 сетингов и 1 для стейта и это минимум
Обсуждают сегодня