Перейти к содержимому


Обсуждение практических вопросов использования Wargaming Public API


  • Пожалуйста, авторизируйтесь для того, чтобы ответить
Сообщений в теме: 3919

Hedeon #1 Отправлено 08 Окт 2013 - 16:17

    Старшина

  • Разработчики
  • 19985 боев
  • 560
  • [WG-A] WG-A
  • Регистрация:
    30.12.2010

Тема для обсуждения практических вопросов использования Wargaming Public API.

 

Полезные ссылки для начинающих знакомство с PAPI:

- Аутентификация методами PAPI: что это и с чем его едят.

- Как рассчитать рейтинг эффективности при помощи методов Public API?

- Использование PHP библиотеки CURL для выполнения запросов в API WG.

 

Если Вы нашли баг/недоработку то, пожалуйста, занесите информацию в наш баг-трекер.



Ivanerr #2 Отправлено 08 Окт 2013 - 18:18

    Старший сержант

  • Игроки
  • 7228 боев
  • 265
  • [LJ] LJ
  • Регистрация:
    19.10.2010
Вопрос: кто-нибудь проверял если перечислить конкретные поля (fields), быстрее ли будет выполнен запрос или это не имеет значения?

Изображение

thunderspb #3 Отправлено 08 Окт 2013 - 18:25

    Младший лейтенант

  • Бета-тестеры
  • 10135 боев
  • 814
  • [BD] BD
  • Регистрация:
    04.06.2010

Просмотр сообщенияIvanerr (08 Окт 2013 - 18:18) писал:

Вопрос: кто-нибудь проверял если перечислить конкретные поля (fields), быстрее ли будет выполнен запрос или это не имеет значения?
Зависит от объема запроса, визуально кажется, что да. На больших объемах (100 ids) будет заметно
Все, что вы хотели узнать про статистику онлайна с преферансом и куртизанками графиками покластерно и посерверно: https://stats.wotapi.ru/

armor_kiev #4 Отправлено 08 Окт 2013 - 18:41

    Младший лейтенант

  • Игроки
  • 15809 боев
  • 1 378
  • [CLOH] CLOH
  • Регистрация:
    15.07.2010

Просмотр сообщенияIvanerr (08 Окт 2013 - 18:18) писал:

Вопрос: кто-нибудь проверял если перечислить конкретные поля (fields), быстрее ли будет выполнен запрос или это не имеет значения?

На домашнем компе.

Запрос:
http://api.worldofta...e&clan_id=22369

Выполняется в среднем 0.3 с.

Запрос:
http://api.worldofta...o&clan_id=22369

Выполняется 0.5-0.6 с.

На мой взгляд разница за счет объема файла. В первом варианте нет локализаций, ответ более чем в три раза меньше.


Ivanerr #5 Отправлено 08 Окт 2013 - 18:51

    Старший сержант

  • Игроки
  • 7228 боев
  • 265
  • [LJ] LJ
  • Регистрация:
    19.10.2010
А сколько у кого в среднем уходит на получение танков одного игрока?
У меня порядка секунды :amazed:  Это нормально?
Что то дофигища.
На стату одного игрока уходит 0.01 секунда.

Сообщение отредактировал Ivanerr: 08 Окт 2013 - 18:53


Ivanerr #6 Отправлено 08 Окт 2013 - 18:55

    Старший сержант

  • Игроки
  • 7228 боев
  • 265
  • [LJ] LJ
  • Регистрация:
    19.10.2010

Просмотр сообщенияarmor_kiev (08 Окт 2013 - 18:41) писал:

На мой взгляд разница за счет объема файла.

Это печально.

armor_kiev #7 Отправлено 08 Окт 2013 - 19:01

    Младший лейтенант

  • Игроки
  • 15809 боев
  • 1 378
  • [CLOH] CLOH
  • Регистрация:
    15.07.2010

Просмотр сообщенияIvanerr (08 Окт 2013 - 18:51) писал:

А сколько у кого в среднем уходит на получение танков одного игрока?

У меня метод, который для игрока берет account/info и account/tanks с полями tank_id,statistics.battles,statistics.wins,mark_of_mastery

После чего эти данные приводит к виду 1.х (для обратной совместимости - клоунада, в общем).

Общее время выполнения: 0.7-0.9 с.


Ivanerr #8 Отправлено 08 Окт 2013 - 19:05

    Старший сержант

  • Игроки
  • 7228 боев
  • 265
  • [LJ] LJ
  • Регистрация:
    19.10.2010

Просмотр сообщенияarmor_kiev (08 Окт 2013 - 19:01) писал:

Общее время выполнения: 0.7-0.9 с.

Адски долго!

Изображение

shizzard #9 Отправлено 08 Окт 2013 - 21:26

    Сержант

  • Игроки
  • 24482 боя
  • 122
  • [IMBSQ] IMBSQ
  • Регистрация:
    27.06.2010

Просмотр сообщенияarmor_kiev (08 Окт 2013 - 19:01) писал:

Общее время выполнения: 0.7-0.9 с.
Есть такая фигня:
Spoiler                     

Сообщение отредактировал shizzard: 08 Окт 2013 - 21:27

Свободное общение на тему разработки под WG Public API: xmpp://wg-papi@conference.jabber.ru

shizzard #10 Отправлено 08 Окт 2013 - 21:29

    Сержант

  • Игроки
  • 24482 боя
  • 122
  • [IMBSQ] IMBSQ
  • Регистрация:
    27.06.2010
При этом ситуация с запросом одного игрока лучше:
Spoiler                     

Свободное общение на тему разработки под WG Public API: xmpp://wg-papi@conference.jabber.ru

Drahtigel #11 Отправлено 08 Окт 2013 - 22:20

    Старший сержант

  • Игроки
  • 40616 боев
  • 333
  • [IS-23] IS-23
  • Регистрация:
    31.07.2011
Получать танки игрока можно отдельным потоком. Таким образом задержка не так заметна визуально.

Сайт клана IS-23

 


shizzard #12 Отправлено 08 Окт 2013 - 22:46

    Сержант

  • Игроки
  • 24482 боя
  • 122
  • [IMBSQ] IMBSQ
  • Регистрация:
    27.06.2010

Просмотр сообщенияDrahtigel (08 Окт 2013 - 22:20) писал:

Получать танки игрока можно отдельным потоком. Таким образом задержка не так заметна визуально.

Нет, это совсем некритично, если вы можете распараллелить задачи. Я вот, например, удивился, потому как не заметил даже такой чудовищной задержки.
Свободное общение на тему разработки под WG Public API: xmpp://wg-papi@conference.jabber.ru

Ivanerr #13 Отправлено 08 Окт 2013 - 23:00

    Старший сержант

  • Игроки
  • 7228 боев
  • 265
  • [LJ] LJ
  • Регистрация:
    19.10.2010

Просмотр сообщенияDrahtigel (08 Окт 2013 - 22:20) писал:

Получать танки игрока можно отдельным потоком. Таким образом задержка не так заметна визуально.

А если нужно получить данные о всех танках клана? Тут параллель непараллель задержку в 100 секунд заметишь  :teethhappy:

Просмотр сообщенияshizzard (08 Окт 2013 - 21:29) писал:

При этом ситуация с запросом одного игрока лучше:

Нужно проверить не на одном игроке, а хотя бы сотне разных и найти среднее время ;)

shizzard #14 Отправлено 08 Окт 2013 - 23:09

    Сержант

  • Игроки
  • 24482 боя
  • 122
  • [IMBSQ] IMBSQ
  • Регистрация:
    27.06.2010

Просмотр сообщенияIvanerr (08 Окт 2013 - 23:00) писал:

А если нужно получить данные о всех танках клана? Тут параллель непараллель задержку в 100 секунд заметишь :teethhappy:

Ну если вы собираетесь запрашивать данные во время обработки входящего запроса, у меня для вас плохие новости.

Просмотр сообщенияIvanerr (08 Окт 2013 - 23:00) писал:

Нужно проверить не на одном игроке, а хотя бы сотне разных и найти среднее время ;)

Я сейчас запилю статистику по работе сервиса, и когда ВГ, наконец, выдаст мне доступ (если выдаст вообще), я смогу запустить сервис на полную катушку. Смогу показать вам разнообразную статистику по работе WG API. Если нужны какие-то особенные метрики - пишите, постараюсь запилить.
Свободное общение на тему разработки под WG Public API: xmpp://wg-papi@conference.jabber.ru

S0me0ne #15 Отправлено 08 Окт 2013 - 23:18

    Старший сержант

  • Игроки
  • 23735 боев
  • 241
  • Регистрация:
    10.03.2011
Очень хотелось бы иметь возможность получать статус игрока на данный момент в игре: онлайн/нет, посредством API. С задержкой какой-то, ну хоть как-то

Сообщение отредактировал S0me0ne: 08 Окт 2013 - 23:26


shizzard #16 Отправлено 08 Окт 2013 - 23:43

    Сержант

  • Игроки
  • 24482 боя
  • 122
  • [IMBSQ] IMBSQ
  • Регистрация:
    27.06.2010

Просмотр сообщенияS0me0ne (08 Окт 2013 - 23:18) писал:

Очень хотелось бы иметь возможность получать статус игрока на данный момент в игре: онлайн/нет, посредством API. С задержкой какой-то, ну хоть как-то

ВГ такой информации не отдает, так что с этим вопросом вам сюда: http://forum.worldof...ing-public-api/
Свободное общение на тему разработки под WG Public API: xmpp://wg-papi@conference.jabber.ru

Drahtigel #17 Отправлено 09 Окт 2013 - 00:20

    Старший сержант

  • Игроки
  • 40616 боев
  • 333
  • [IS-23] IS-23
  • Регистрация:
    31.07.2011

Просмотр сообщенияIvanerr (08 Окт 2013 - 23:00) писал:

А если нужно получить данные о всех танках клана? Тут параллель непараллель задержку в 100 секунд заметишь  :teethhappy:
Нужно проверить не на одном игроке, а хотя бы сотне разных и найти среднее время ;)
В клиентском - запуск параллельных потоков, но с распределением по времени (дабы уложиться в лимит запросов). Каждому потоку по несколько id в запросе. Конечно не мгновенно полученные данные, но и не сбор по каждому игроку x0.9-1 секунду. Условно говоря запускаем раз в секунду запрос по 20 idшников, каждый запрос отрабатывает 20сек +/-, таких запросов у нас 5... т.е. из 100 секунд получаем ~30 (Зависит от того, сколько танков у игрока было). Итого задержка полного обновления снижается в 3 раза, что уже неплохой результат. Имхо.
Есть и второй путь - выбирать у танков только значимые поля (а их всего 4), таким образом снизив время формирования ответа. Ну и комбинация 1-го и 2-го должна дать неплохой результат, я думаю (пока второй путь не пробовал, руки не дошли до реализации).

Сообщение отредактировал Drahtigel: 09 Окт 2013 - 06:10

Сайт клана IS-23

 


Ivanerr #18 Отправлено 09 Окт 2013 - 09:25

    Старший сержант

  • Игроки
  • 7228 боев
  • 265
  • [LJ] LJ
  • Регистрация:
    19.10.2010

Просмотр сообщенияDrahtigel (09 Окт 2013 - 00:20) писал:

из 100 секунд получаем ~30 ... уже неплохой результат

Неплохой результат? :ohmy:

Наверняка у тебя есть айфон/айпад/андроидфон.
Много там приложений, где для получения данных приходится ждать 30 секунд?

STREJlA #19 Отправлено 09 Окт 2013 - 09:54

    Старшина

  • Игроки
  • 14178 боев
  • 407
  • [W_G_P] W_G_P
  • Регистрация:
    25.10.2010
Delete

Сообщение отредактировал STREJlA: 19 Апр 2014 - 22:41


Drahtigel #20 Отправлено 09 Окт 2013 - 09:55

    Старший сержант

  • Игроки
  • 40616 боев
  • 333
  • [IS-23] IS-23
  • Регистрация:
    31.07.2011

Просмотр сообщенияIvanerr (09 Окт 2013 - 09:25) писал:

Неплохой результат? :ohmy:

Наверняка у тебя есть айфон/айпад/андроидфон.
Много там приложений, где для получения данных приходится ждать 30 секунд?
Всему есть предел, и реакции сервера, и пропускной способности 3G и Wifi, а так же канала до сервера (со всеми его задержками и багами), и т.д. и т.п. Разверните у себя базу с 8 млн записей внутри, причём не простую однотабличную простыню, а с десятком-другим таблиц, связанных меж собой, погоняйте простые и сложные запросы, оцените время реакции...

Сайт клана IS-23

 





Количество пользователей, просматривающих этот форум: 8

0 пользователей, 8 гостей, 0 анонимных