170 похожих чатов

Умные люди объясните мне как работать с ошибками в генераторах)

Нужно сделать бекофф систему для ETL на генераторах. Скажем у меня есть функция extract(generator) обернутый в бекофф декоратор, который просто оборачивает в try except return func() и пытается повторить это несколько раз скажем. Если я вызову из другой функции next(extract) и вовремя этого в extract вывалиться ошибка то, что произойдет?

33 ответов

18 просмотров

@ru_python_beginners

<b>Влаdick</b>
@ru_python_beginners

Да? А по-моему вопрос серьезный

Ну если есть исключение, оно выводится. Если ты его перехватил, очевидно вернётся что возвращаешь

Tishka17
Ну если есть исключение, оно выводится. Если ты ег...

Хелпани моментом пж Можешь назвать основные аспекты,что надо изучить, чтобы сказать,тип я знаю питон? Потому что , например,про функции на питоне недавно увидел,а блин нигде в курсах этого нет

Ilsaf-Ganjiev Автор вопроса
Tishka17
Ну если есть исключение, оно выводится. Если ты ег...

Бэкофф выглядит как то так, просто когда же мы вызываем next(generator) у нас же не происходит вызов функции, а передается управлению в эту функцию и потом уже у него yield возвращает значению. Т.е если я вызову в моем случаи a := next(extract), то в a у меня окажется объект генератора extract или как

У тебя тут нет генератора

Декоратор написать сможешь без Гугла? Сможешь объяснить что там как работает?

Cool Man
Что такое декоратор

Давай в чат новичков обратно, а

Tishka17
Давай в чат новичков обратно, а

* я там забанен блин тобой*

Cool Man
* я там забанен блин тобой*

Интересно как так получилось)))

Ilsaf-Ganjiev Автор вопроса
Tishka17
У тебя тут нет генератора

Это декоратор backoff, а сам генератор вот, просто у меня все три части ETL это генератор и получается что при вызове load у меня управление уходит в transform откуда управление уходит в extract, тот ходит в базу забирает и уже все обратно и так по кругу

Ilsaf Ganjiev
screenshot Это декоратор backoff, а сам генератор вот, просто...

Ща бы вопросы с Яндекс практикума сюда тащить, а не кураторам

Cool Man
* я там забанен блин тобой*

Гугл зато не забанен. Ну реально про декораторы есть отличные статьи даже.

Ilsaf Ganjiev
screenshot Это декоратор backoff, а сам генератор вот, просто...

Че так замороченно, может airflow попробуешь?

Ilsaf-Ganjiev Автор вопроса
Tishka17
А декоратор где?

Декоратор выше был, это я генератор скинул

Ilsaf Ganjiev
Декоратор выше был, это я генератор скинул

Задай вопрос в слаке, там куча студентов и кураторов, часть обучения - общение с ними, ты принимал правила об этом когда подписывался

Ilsaf-Ganjiev Автор вопроса
Tishka17
Как они друг с другом связаны?

Пока никак ну логика либо обернуть каждый генератор в этот декоратор бекофф либо обернуть функцию которая запускает etl в бекофф

Ilsaf Ganjiev
Пока никак ну логика либо обернуть каждый генерато...

Если ты обрешнешь генератор своим декоратором, ты будешь ловить ошибки только при создании экземпляра генератора, а не вызовах Некст

Ilsaf-Ganjiev Автор вопроса

Может тебе все таки в сам extract обработку исключения тогда добпвить?

Ilsaf Ganjiev
Вот у меня это вызвало недорозумение)

ладно негодяй, у тебя в идеале должно быть два класса (как ты помнишь из постгри читаем - в эластик грузим),в бакофф ты должен обернуть только те методы которые непосредственно фетчат/пишут данные

Ilsaf-Ganjiev Автор вопроса
Roman
Может тебе все таки в сам extract обработку исключ...

Ну если у меня оборвется коннект с бд, то что делать? Коннект создается вне класса extract и передается к нему) Думаю просто обернуть функцию которая запускает etl, и если возникнет ошибка то он запустит эту функцию заново)

Ilsaf-Ganjiev Автор вопроса
Ilya
ладно негодяй, у тебя в идеале должно быть два кла...

В идеале у тебя 3 класса гений) Extract Transform и Load

Ilsaf Ganjiev
В идеале у тебя 3 класса гений) Extract Transform ...

я очевидно про лоадер и аплоадер, в самом решении у тебя еще 4 класса моделей, 2 сетингов и 1 для стейта и это минимум

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта