Конфиг можно представить значительно проще, и он так же будет работать. Этим как раз и занимается BaseSettings:
class Settings(BaseSettings):
kafka_host: str = 'localhost'
kafka_port: int = 9092
kafka_topic:str = 'views'
...
Нужные значение он возьмет из переменных окружения, а если их нет, то назначит указанные. Причем парсер регистронезависимый.
В ugc/etl/consumer.py нужно добавить отказоустойчивости. Можно использовать backoff из прошлых спринтов.
Вот тут можно отправлять не только по заполнению пачки данных, но и по определенному временному интервалу. Вдруг данные не будут поступать, а наша неполная пачка будет ждать.
Конфиг ugc/src/core/settings.py, к нему относится все, что в п.1
Отличная работа 👍
Нужные значение он возьмет из переменных окружения, а если их нет, то назначит указанные. Причем парсер регистронезависимый.
ugc/etl/consumer.py
нужно добавить отказоустойчивости. Можно использовать backoff из прошлых спринтов.ugc/src/core/settings.py
, к нему относится все, что в п.1ugc/src/models/progress_film.py
желательно подружить с orjson как мы это делали в сервисе выдачи контента.