Загрузка...

API Supply: Add the Result_count parameter to limit the number of results in the Batch questioning

Thread in Suggestions created by PerfectBot Jul 18, 2025 at 6:06 AM. 82 views

The poll

Согласны ли вы с предложением?

  1. Да

    2
    50%
  2. Да, но нужно доработать (опишу в комментариях)

    0
    0%
  3. Нет

    2
    50%
  1. PerfectBot
    PerfectBot Topic starter Jul 18, 2025 at 6:06 AM 3 Apr 16, 2025
    Хочу предложить важное улучшение API для повышения производительности batch-запросов и экономии ресурсов.
    ПРОБЛЕМА:

    При использовании batch-запросов для поиска игр возникает серьезная проблема с производительностью:
    Текущая ситуация:
    • Запрос: /steam?game[]=730&game[]=440&game[]=570...
      (10 игр в batch)
    • Ответ: 10 игр × 40 аккаунтов = 400 аккаунтов в JSON
    • Размер JSON: большой
    • Время парсинга: 2-3 минуты вместо секунд
    • Трафик: огромный расход на каждый запрос
    Результат: batch-запросы работают медленнее обычных запросов из-за огромного объема данных, хотя должны быть быстрее.
    ПРЕДЛОЖЕНИЕ:

    Добавить параметр
    result_count
    для ограничения количества возвращаемых результатов на каждую игру:
    /steam?game[]=730&result_count=1 // Только 1 самый дешевый аккаунт
    /steam?game[]=730&result_count=5 // Только 5 первых аккаунтов
    /steam?game[]=730&result_count=10 // Только 10 аккаунтов

    Альтернативные названия:
    per_page
    , max_results
    , rows
    (любое удобное для разработчиков)
    ПРЕИМУЩЕСТВА:

    Для пользователей API:

    1. Скорость: JSON в 40 раз меньше → парсинг за секунды вместо минут
    2. Экономия трафика: меньше данных = быстрее загрузка
    3. Гибкость: каждый выбирает нужное количество результатов
    Для сервера:

    1. Производительность: меньше нагрузка при генерации ответа
    2. Экономия ресурсов: меньше данных для обработки из БД
    3. Пропускная способность: экономия трафика сервера
    4. Быстрее ответы: меньше времени на формирование JSON
    ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ:

    • Мониторинг цен: нужен только самый дешевый → result_count=1
    • Анализ рынка: нужно 5-10 вариантов → result_count=10
    • Сравнение продавцов: топ-3 предложения → result_count=3
    • Полная выгрузка: без параметра → все как сейчас (обратная совместимость)


    Совместимость:
    • Обратная совместимость: без параметра работает как сейчас
    • Простота: добавляется в существующие эндпоинты без изменения логики

      Параметр можно добавить во все игровые категории:
    • /steam
    • /fortnite
    • /valorant
    • /minecraft
    • И другие разделы


    АРГУМЕНТЫ В ПОЛЬЗУ:
    1. Решает реальную проблему: многие разработчики сталкиваются с медленными batch-запросами
    2. Гибкость: каждый использует по потребностям
    3. Масштабируемость: снижает нагрузку при росте пользователей


    Что думаете? Такое улучшение значительно повысит производительность API и удобство разработки!
     
    1. View previous comments
    2. PerfectBot Topic starter
      ЛевыйТип,
      import requests

      url = "https://prod-api.lzt.market/batch"

      payload = [
      {
      "uri": "/steam?game[]=1158310&daybreak=2&order_by=price_to_up",
      "method": "GET"
      },
      {
      "uri": "/steam?game[]=261550&daybreak=2&order_by=price_to_up",
      "method": "GET"
      },
      {
      "uri": "/steam?game[]=108600&daybreak=2&order_by=price_to_up",
      "method": "GET"
      },
      {
      "uri": "/steam?game[]=236850&daybreak=2&order_by=price_to_up",
      "method": "GET"
      },
      {
      "uri": "/steam?game[]=251570&daybreak=2&order_by=price_to_up",
      "method": "GET"
      },
      {
      "uri": "/steam?game[]=294100&daybreak=2&order_by=price_to_up",
      "method": "GET"
      },
      {
      "uri": "/steam?game[]=2135150&daybreak=2&order_by=price_to_up",
      "method": "GET"
      },
      {
      "uri": "/steam?game[]=377160&daybreak=2&order_by=price_to_up",
      "method": "GET"
      },
      {
      "uri": "/steam?game[]=625960&daybreak=2&order_by=price_to_up",
      "method": "GET"
      },
      {
      "uri": "/steam?game[]=392160&daybreak=2&order_by=price_to_up",
      "method": "GET"
      }
      ]
      headers = {
      "accept": "application/json",
      "content-type": "application/json"
      }

      response = requests.post(url, json=payload, headers=headers)

      print(response.text) делай замер ответа, вернет 400 акков
    3. PerfectBot Topic starter
      ЛевыйТип, это запрос для аккаунта с 10 популярными играми, а если на акке 100-200 игр то вообще ггвп
    4. ЛевыйТип
      PerfectBot, ты отправляешь 100 запросов, сейчас 1 запрос обрабатывается около 3 секунд, если даже и добавят то это не сильно ускорит процесс ну будет там условные 2 секунды даже если то это 100*2 , 200 секунд(больше 2 минут)
      и ты всегда сам можешь снизить количество которое будет обрабатывать твои скрипт скоко бы не давал ответ от маркета
    5. View the next comments
  2. уязвимый
    шляпа написанная искусанным имигрантом
     
    1. PerfectBot Topic starter
      уязвимый, да мне похуй мне главное чтоб ето добавили, а не твой коментарий
    2. PerfectBot Topic starter
  3. PerfectBot
    PerfectBot Topic starter Jul 18, 2025 at 6:17 AM 3 Apr 16, 2025
    [IMG]по каждой ссылке оно качает инфу от 1 до 40 акков, json весит много,если на аккаунте 100 игр и по каждой игре с параметрами есть по 40обьявлений, это json с инфой о 4х к аккаунтов, хотя мне нужна инфа о 100 акках
    The post was merged to previous Jul 18, 2025 at 6:18 AM
    тоесть 10 бачей по 400 аккаунтов
     
Loading...
Top