backgroundbackground
Назад
Назад

Лимиты на получение документов и списков документов -2

Обсуждение
1
1762
# Документы и бухгалтерия
Обсуждение

в продолжение темы https://dev.wildberries.ru/forum/topics/1384

2 WB Team

наконец то дошли руки это реализовать ..

немного статистики . получение списка файлов по всем категориям за период (в данном случае квартал )

=== Call Statistics ===

Список файлов

Получено строк: 457

=== Accumulated data (since reset) ===

Total Calls: 59

Total Bursts used: 6

Total 439: 0

Total Headers: 38,88 KB

Total Content: 84,44 KB

Total Delays: 529,241 seconds

Total Response Time: 10,297 second

Effective Speed: 156 bytes/s

для того, чтобы получить 84 kb полезной информации о 457 файлах, потребовалось 529 секунд.

59 запросов к api вместо одного

59 handshakes, авторизаций, аутентификаций, проверок параметров, запросов у вас внутри к базе, формирований ответов , в разы вырос трафик, который передавать не нужно (те же заголовки )

для 85kb полезной нагрузки ? Вы хотели своими лимитами уменьшить нагрузку на систему ? есть ощущение, что вы ее кратно увеличили. (про усложнение кода я и говорить не буду, кто об этом думает)

Вы в отчете о продажах отдаете по 100к строк, там лимиты понятны..

в запросах, которые идут постоянно в "реальном времени", лимиты понятны, а тут то что ? зачем они ?

сколько времени займет передача этих 457 файлов я как нить позже напишу. расчетно 457/50 = 10 . итого 5 (burst ) + 5*5 минут = 25 минут. не знаю burst обресетится за это время или нет 25 минут на передачу каких нить 20-30 mb полезной информации

предложения

1 вызов - получить непустые категории. т.е. категории, в которых за указанный период есть хотя бы 1 файл . если посчитать количества недорого,

можно сразу количество.

1 вызов - получить списки файлов по списку категорий за период.

ну с чанками по файлам Вам видней, сейчас я получаю примерно по 2.5 MB за раз, на мой взгляд раз в 10 этот лимит легко можно увеличить.

тогда это будет еще 1 запрос . но в чем смысл 5 min wait time ? кто то ради интереса качает сотни файлов постоянно ?

итого 3 запроса к апи, все уложится в десяток секунд вместо того что выше.

С Уважением

ish

p/s. текущий алгоритм это просто какой то саботаж и диверсия

pp/s. отдельно вызывает удивление defaul locale en :)

+1
Комментарий

так как редактировать сообщения нельзя, добавлю в комментариях. сделайте выдачу лимитов на вызовы в api , и нам плюсы, не надо будет хардкодить, и вам - сможете динамически ими управлять.. нет загрузки - увеличиваем, высока - закручиваем гайки . допустим метод , period, limit, interval , burst , validuntil подумал, можно вообще в заголовке ответа отдавать. тогда и делать ничего не надо.

заодно вопрос.. получение 429 ошибки это ожидаемое поведение или считаем, что ошибка это плохо и ее лучше не допускать ? мы сейчас стараемся не допускать, но без нее невозможно получить X-Ratelimit-Reset

С Уважением ish

0