Публикация

подписчиков: 4 Подписаться
0
Avatar

Обновление остатков - Stock API очень медленно работает

Добрый день

Вызов АПИ для обновления остатков и цен занимает от 30 секунд до 60 секунд.

пример 1

https://online.moysklad.ru/api/remap/1.1/entity/enter/51d03422-39f1-11e9-912f-f3d40008b425/positions

пример 2

https://online.moysklad.ru/api/remap/1.1/entity/loss/53bed369-39f1-11e9-912f-f3d40008b43d/positions

 

аналогично (до 60 секунд), а иногда и больше .

 

С чем это связано? И как ускорить работу АПИ ?

 

Проблема в том , что когда надо обновить 10 тысяч товаров это занимает непозволительно очень много времени (весь процесс обновления стоков).

 

Я разрабатываю сервис http://price-matrix.ru/ и это очень критично для работы.

Nikolai Kekish

Войдите в службу, чтобы оставить комментарий.

Комментариев: 16

0
Avatar

Добрый день!

Могли бы Вы более подробно описать процесс с обновлением 10 тысяч товаров и прислать пример запросов, содержащих url, тип и тело, а также указать приблизительное время работы запроса, чтобы мы могли более детально разобраться в проблеме.

Segorov 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

Конечно могу. Вот прямо сейчас идет процесс. Но название аккаунта как-то нелогично тут оставлять. Может со мной кто-нибудь свяжется?

Nikolai Kekish 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

Пока со мной не связались, поэтому опишу тут.

как происходит обновление

1 создается транзакция через АПИ

2 для каждого *товара сначал стоки обнуляются , потом добавляются.

* большинство товаров с модификациями.

Nikolai Kekish 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

Обновление 10 тысяч товаров происходит в несколько запросов? Например 100 запросов по 100 товаров.

Segorov 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

Можете прислать url запроса и его тело, чтобы можно было проанализировать проблему?

Segorov 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

А скем я общаюсь? Вы "официальная" поддержка? Вроде как нет. Не понимаю как вы мне можете помочь. Обычный запрос, он отрабытвает, но долго. Свой аккаунт я вам не дам доступ.

Nikolai Kekish 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

Я официальный представитель команды разработки. Мне не нужен Ваш аккаунт, но для того, чтобы разобраться в проблеме мне нужно понять какой запрос в АПИ вы выполняете.

Пример запроса:

Пример тела запроса

Пример ответа:

Segorov 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

Это не ответ. Точнее мне он никак не помогает.
Я вам дал название своего аккаунта. Посмотрите в Саппорте - Запрос #270455

вот запросы к АПИ вашему, которые прямо сейчас отрабытывают.

[2019-03-01 09:40:09,227] - MoySklad: https://online.moysklad.ru/api/remap/1.1/entity/loss/53bed369-39f1-11e9-912f-f3d40008b43d/positions
[2019-03-01 09:41:05,383] - MoySklad: https://online.moysklad.ru/api/remap/1.1/entity/enter/51d03422-39f1-11e9-912f-f3d40008b425/positions
[2019-03-01 09:42:32,368] - [ProductUpdate] Артикул продукта:'пм-00000216'.Ид.БД:'22870c2b-32af-11e9-912f-f3d4000cf0b6..Имя:'Комплект пластика для мотоцикла Suzuki GSX-R600/750 06-07 Corona Extra бело-черный'.Кол-во:'5'.Цена:'43000'.Кол-во картинок:'0'.1-я картинка:''.Ссылка:''.
[2

Процесс идет ПРЯМО сейчас .
И прямо сейчас ваше АПИ обрабатывает обновление стоков за 30-60 секунд!

Почему вы не хотите разобраться в проблеме?
Посмотрите логи моего аккаунта АПИ и все поймете. Второй день из пустого в порожнее и ноль помощи. 

 

Nikolai Kekish 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

Добрый день!

Вы задали вопрос Как ускорить работу АПИ ?, коллега уточнил у вас какой запрос вы выполняете и попросил прикрепить тело запроса, но вы проигнорировали. Прикрепите запрос в формате cURL.

По комментарию https://support.moysklad.ru/hc/ru/community/posts/360028669833/comments/360004249073 также опишите последовательность действий в виде запросов в формате cURL. Зачем сначала обнуляются остатки?

 

Мы просим представление запроса в формате cURL, чтобы ясно представлять ваши действия с АПИ.

 

Ivan Pivkin 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

А мне неудобно это делать сейчас.

Просто неудобно. Это займет время и я не вижу смысла сейчас вам скидывать запросы с учетом того что у вас есть вся необходимая информация чтобы разобраться в вопросе.

Поясню свою позицию.

У вас есть вся информация чтобы мне помочь. 

Вы знаете мой аккаунт id куда сейчас идут запросы. (писал через поддержку) номер тикета вы тоже знаете.

Почему вы не можете посмотреть самостоятельно запросы в аккаунте и мне помочь?

 

 

Nikolai Kekish 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

Судя по логам, вы неэффективно работаете с АПИ в части обновления остатков. Ознакомьтесь с примером из https://online.moysklad.ru/api/remap/1.1/doc/index.html#%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82-%D0%BE%D0%BF%D1%80%D0%B8%D1%85%D0%BE%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%BE%D0%B7%D0%B8%D1%86%D0%B8%D0%B8-%D0%BE%D0%BF%D1%80%D0%B8%D1%85%D0%BE%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B9-post Можно сразу передавать несколько позиций документа.

Если бы вы четко донесли свою проблему по взаимодействию с АПИ, приложив запросы, то решение проблемы значительно бы ускорилось.

 

Ivan Pivkin 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

Спасибо, вашу рекомендацию понял!

Т.е. если отправлять в запросе не один сток, а 100 , то это будет быстрее ?

Меня смущает один момент, вот отправил я 100 стоков в одном запросе, а что делать если он по timeout вылетит, ведь такое было даже с одним стоком в запросе.

Сейчас timeout 60 секунд, сколько у вас может быть максимальный timeout ?

Ведь с одним стоком среднее время было 30-60 секунд, а сколько же вы будете обрабаытвать 100 стоков? 6000 секунд ? ;) или за те же 60 секунд?

Как мне узнать что мой запрос действительно отработал у вас на сервере корректно, а не произошла сетевая ошибка? 

 

Nikolai Kekish 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

Добрый день!

В первую очередь вы обновляете документ, уже по которому инициируется обновление остатков. Поэтому разницы нет, одну вы позицию обновляете или несколько, все равно будет пересчет.

 

Все согласно документации, по запросу смотрите на его response code, 200 соответственно все ок.

Ivan Pivkin 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

Добрый день

а как увеличить скорость Создания товаров с вариантами? 

очень медленно все работает.

есть решение ?

на один товар уходит около 17-20 секунд.

Nikolai Kekish 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

К сожалению, ускорить обработку запросов возможности нет. Она, в большинстве своем, зависит от количества данных в вашем запросе.

Максим Семёнов 0 проголосовали
Действия с комментариями Постоянная ссылка