Skip to content

neteraf0/Cloud-Stock

Repository files navigation

Cloud Stock

Основные компоненты

  • Django: Основной фреймворк для разработки веб-приложения.
  • SQLite: Используется в качестве базы данных.
  • Celery: Обеспечивает асинхронное выполнение задач.
  • Redis: Используется как брокер сообщений для Celery.

api/

Папка api содержит логику взаимодействия с внешними API маркетплейсов и управления данными.

Основные модули:

  • services: Содержит классы для работы с API маркетплейсов.
    • Ozon.py: Логика взаимодействия с API Ozon.
    • Ymarket.py: Логика взаимодействия с API Яндекс.Маркет.
    • WB.py: Логика взаимодействия с API Wildberries.
  • views.py: Определяет функции для обработки HTTP-запросов, связанных с обновлением и получением данных о товарах.
  • urls.py: Определяет маршруты для API.
  • utils: Содержит вспомогательные модули для работы с данными.
    • CacheManager.py: Управление кэшированием данных.
    • OrderPoller.py: Логика опроса заказов.
    • ReservePoller.py: Логика опроса резервов.
    • ReturnPoller.py: Логика опроса возвратов.
    • push_stocks.py: Логика отправки обновленных данных о запасах.
    • tasks.py: Определяет задачи Celery для периодического выполнения операций, таких как опрос заказов и резервов.

Логика работы:

  1. Получение данных: Сервис периодически опрашивает API маркетплейсов для получения актуальных данных о заказах, резервах и возвратах.
  2. Обновление данных: Полученные данные обрабатываются и обновляются в базе данных. При необходимости данные о запасах отправляются обратно на маркетплейсы.
  3. Интерфейс пользователя: Пользователь может вручную управлять данными через веб-интерфейс, предоставляемый Django.

Автоматизация: Система настроена на автоматическое применение последних изменений с помощью Github Actions (пока без тестов).

Документация: API: API предоставляет следующие основные функции:

  • Получение данных о товарах.
  • Обновление данных о запасах.
  • Управление заказами и резервами.

Управление проектом:

  • Запуск в режиме разработки: sh build.sh dev
  • Запуск в режиме деплоя: sh build.sh deploy
  • Остановка проекта: sh build.sh stop

Если сервис не работал какое то время и прод не был обработан руками

Отключаем prefill_cache и в маркетах ставим дельту на то время пока сервис не работал

About

warehouse data synchronization service

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors