в продолжение темы 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 :)