Giter Site home page Giter Site logo

japass's Introduction

GitHub Views

api?username=torinasakura

japass's People

Contributors

monstrs avatar tfk70 avatar torinasakura avatar

Watchers

 avatar

japass's Issues

Переработать сервис

С чем связан запрос на фичу?

Переработать сервис

Расскажите как вы это себе видите

Synchronizer job:

  1. Брать позиции с маркета
  2. Брать с каждой артикул. Артикул может быть с префиксом prefix-article, в этом случае просто делать сплит и брать только article, который соответствует артикулу комусе
  3. Синкать эти позиции с базой по полям remains и price. Если одно из полей устарело - делать синк с ЯМ

Write all products job:

Работает по-прежнему, просто пишет базу все позиции с комуса с поправкой на то, что сейчас нам не нужно брать detailed информацию о позиции. Возможно придется обновить таблицу в бд

Jobs troubleshooting

Описание бага

Джобы write-all-products и synchronizer ведут себя нестабильно, в ходе работы они падают с ошибками

Ожидаемое поведение

Джобы должны работать стабильно

Материалы

synchronizer - 12 рестартов
write-all-products-job - 410 рестартов

~ kubectl get pods
NAME                                                   READY   STATUS             RESTARTS   AGE
synchroninzer-service-65b4585976-fhd2x                 2/2     Running            12         5d11h
synchroninzer-writer-service-5944554d4d-txzhp          2/2     Running            0          5d22h
synchronizer-write-all-products-job-7774fb55fc-6httr   1/2     CrashLoopBackOff   410        5d22h
test-synchronizer-write-all-products-job-mprdh         1/2     NotReady           0          33d

Bad products

Задача

Исследовать продукты, которые невозможно выставить на продажу на ЯМ

  • Недостающие поля
  • Поля, заполненные с ошибкой

WB Integration

С чем связан запрос на фичу?

Интеграция с wildberries

Расскажите как вы это себе видите

Адаптер, как и для yandex-market

Оптимизация запросов на Комус

С чем связан запрос на фичу?

Эндпоинт Комуса отвечает очень долго, поэтому работу с ним необходимо оптимизировать

Расскажите как вы это себе видите

Делать несколько запросов параллельно, это позволить ускорить работу с Комусом примерно в 5 раз (зависит от ограничений Комуса по параллельным запросам)

Service separation

Разделение сервисов

Планирую сделать 2 сервиса:

  • marketplace
  • supplier

Supplier

  • Отвечает за запись продуктов в базу и синхронизацию остатков

Marketplace

  • Будет иметь порты в домене и описанную логику синхронизации продуктов (на основе портов)
  • ЯМ, ВБ и прочие маркетплейсы будут в виде адаптеров
  • Подразумевается что один инстанс сервиса отвечает за синхронизацию товаров с одним маркетплейсом. То есть для того чтобы одновременно синхронизировать продукты с ЯМ и вайлдбериз нам понадобится поднять 2 инстанса marketplace сервиса
  • Чтобы переключать инстансы в marketplace сервисе будет несколько энтрипоинтов: по одному энтрипоинту на маркетплейс. Т.е. yandex-market-service-entrypoint, wildberries-service-entrypoint и т.п.

Shared слой

Так как и marketplace, и supplier сервисы у нас работают с одной и той же сущностью/репозиторием - с продуктами, я планирую вынести ProductsRepositoryImpl, TypeORMEntities и прочее, что касается конфигурации TypeORM в shared слой. Infrastructure слои обоих репозиториев будут просто использовать ProductsRepository из shared слоя, подключение к базе будет одно общее

Пример

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.