first commit
This commit is contained in:
57
README.md
Normal file
57
README.md
Normal file
@@ -0,0 +1,57 @@
|
||||
# Тестовое задание
|
||||
|
||||
**На хост машине**
|
||||
|
||||
```bash
|
||||
make help
|
||||
make build
|
||||
make install
|
||||
make run # заполнит базу и запустит тесты
|
||||
```
|
||||
|
||||
Необходимо задать переменные окружения
|
||||
|
||||
```dotenv
|
||||
WB_URL="url"
|
||||
WB_API_KEY="123"
|
||||
```
|
||||
|
||||
## Синхронизация
|
||||
|
||||
Инкрементальная
|
||||
|
||||
```php
|
||||
Schedule::command('sync:all')->dailyAt('00:10');
|
||||
```
|
||||
|
||||
Для ORDERS, SALES, INCOMES синхронизация берёт данные по завершённым дням
|
||||
|
||||
Первый запуск: берутся все данные с даты 2 года назад до вчерашнего дня
|
||||
|
||||
Последующие запуски: берётся только следующий завершённый день после последней успешной записи (date_to)
|
||||
|
||||
Для STOCKS всегда берётся только текущий день, так как API поддерживает только актуальные данные
|
||||
|
||||
Ручное управление
|
||||
|
||||
```bash
|
||||
make sh # для входа в контейнер
|
||||
```
|
||||
|
||||
```bash
|
||||
Available commands for the "sync" namespace:
|
||||
php artisan sync:all Command description
|
||||
php artisan sync:incomes Sync incomes from WB API
|
||||
php artisan sync:orders Sync orders from API
|
||||
php artisan sync:sales Sync sales from WB API
|
||||
php artisan sync:stocks Sync stocks from WB test API
|
||||
```
|
||||
|
||||
Расширение
|
||||
|
||||
[Конфиг](laravel/config/wb-sync.php)
|
||||
|
||||
### Комментарий:
|
||||
|
||||
Апи может присылать полные дубли строк, думал делать вставку через upsert + уникальный ключ
|
||||
например по хешу основных строк, но выбрал более простой вариант с обычным заполнением
|
||||
Reference in New Issue
Block a user