lppavli / ugc_sprint_1

Спринт 8. Репозиторий для командного проекта модуля UGC
0 stars 0 forks source link

Code review #1

Open BigDeepBlue opened 2 years ago

BigDeepBlue commented 2 years ago

Отличная работа 👍

  1. Конфиг можно представить значительно проще, и он так же будет работать. Этим как раз и занимается BaseSettings:
      class Settings(BaseSettings):
          kafka_host: str = 'localhost'
          kafka_port: int = 9092
          kafka_topic:str = 'views'
          ...

    Нужные значение он возьмет из переменных окружения, а если их нет, то назначит указанные. Причем парсер регистронезависимый.

  2. В ugc/etl/consumer.py нужно добавить отказоустойчивости. Можно использовать backoff из прошлых спринтов.
  3. Вот тут можно отправлять не только по заполнению пачки данных, но и по определенному временному интервалу. Вдруг данные не будут поступать, а наша неполная пачка будет ждать.
  4. Конфиг ugc/src/core/settings.py, к нему относится все, что в п.1
  5. Лишний импорт.
  6. Модель ugc/src/models/progress_film.py желательно подружить с orjson как мы это делали в сервисе выдачи контента.
  7. И в API нужно добавить версионирование. Это обычная практика даже для таких маленьких API, а это уже в следующем спринте расширит свой функционал.
BigDeepBlue commented 2 years ago

LGTM