|
Perl: Просьба глянуть, нет ли ошибки в алгоритме
|
|||
---|---|---|---|
#18+
У меня есть скрипт, который работает с веб-сервисом (REST JSON). У API есть два входных параметра: limit и start. Первый указывает, сколько строк вернуть в ответе, второй указывает номер строки, с которой будет возвращаться ответ (нумерация строк начинается с нуля), по умолчанию они равны 50 и 0 соответственно. То есть чтобы получить все строки, мне нужно указывать в первом запросе start=0, во втором start=50 и т.д. API возвращает следующую структуру: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
start и limit повторяют входные параметры запроса, total содержим общее количество строк результата (без учета limit), а в data содержится массив с результатами (с учетом limit). Если задать limit=0, тогда пейджинг не производится и веб-сервис возвращает весь результат в одном ответе. Но веб-сервис плохо работает в таком режиме (начинаются ошибки 500), поэтому в рабочих скриптах я всегда использую пейджинг. У меня используется следующий код: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Но он иногда не возвращает некоторые строки. Я подозреваю, что это глюк на стороне веб-сервиса. Но вначале хотелось бы быть полностью уверенным, что на моей стороне алгоритм правильный и эти строки не выпадают из-за того, что я неправильно вычисляю start. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2020, 13:37 |
|
|
start [/forum/topic.php?fid=23&tid=1459785]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
2ms |
others: | 293ms |
total: | 406ms |
0 / 0 |