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


Отзывы и пожелания. Wargaming Public API


  • Закрытая тема Тема закрыта
Сообщений в теме: 369

BYBY3EJIA #321 Отправлено 15 авг 2013 - 12:59

    Шутюзела

  • Игроки
  • 38057 боев
  • 14 706
  • Регистрация:
    30.10.2010
В этой теме публикуем свои предложения и пожелания.

ATLANTSON #322 Отправлено 12 ноя 2013 - 10:25

    Лейтенант

  • Игроки
  • 11846 боев
  • 1 661
  • Регистрация:
    23.05.2012
не видел ответов на вопрос:
будет ли объединяться статистика рандома с командным боем?

 

 


MustBeDead #323 Отправлено 12 ноя 2013 - 16:21

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

  • Игроки
  • 2868 боев
  • 286
  • Регистрация:
    22.04.2012

Просмотр сообщенияvladyka87 (12 Ноя 2013 - 10:25) писал:

не видел ответов на вопрос:
будет ли объединяться статистика рандома с командным боем?

Объединение общей статистики боев и режима «Командный бой» не планируется.
Как уже сообщалось ранее, в настоящий момент рассматривается возможность реализации отдельной выборки статистики для командного боя (проект Public API).
Кабинет разработчика Wargaming Developer Partner Program

shizzard #324 Отправлено 14 ноя 2013 - 17:37

    Сержант

  • Игроки
  • 24937 боев
  • 122
  • [IMBSQ] IMBSQ
  • Регистрация:
    27.06.2010
Ребят, мне ответа на свой вопрос ждать вообще стоит или нет? Вопрос важный, мне нужно знать ответ.
Для вашего удобства процитирую сюда:

Просмотр сообщенияshizzard (28 Окт 2013 - 13:54) писал:

Вот что я сделал. Я изменил логику вываливания запросов из очереди. Теперь в начале каждой секунды из очереди вытаскивается до десяти (RPS) запросов, которые затем планируются на выполнение с delay в n*(1000/RPS) для энного запроса. Чтобы стало понятнее, просто приведу кусочек дебаг-лога, он должен все прояснить:

Spoiler                     

Знаете, помогло! Где-то с пару минут после рестарта гейта не было ни одной ошибки. Я уж было подумал, что вот оно, счастье разработчика, ан нет. Ошибки снова посыпались. Это странно, особенно с учетом того, что в секунду запускалось не более двух запросов, так как остальные висели в ожидании ответа.
Я подумал о том, что можно бы увеличить количество воркеров до 20. Сразу же отмечу: количество воркеров - это не RPS, это количество процессов, которые кладут задачи в очередь. Количество воркеров влияет только на количество конкурентных запросов к API, то есть в одно время может выполняться не более 20 запросов с разрешенным рейтом в 10 RPS. Из-за времени выполнения запросов к /account/tanks сейчас как раз 20 конкурентных запросов и висит:

(hydra@10.128.14.71)71> supervisor:count_children(hydra_pulsar_worker_sup).
[{specs,1},{active,20},{supervisors,0},{workers,20}]


Так вот теперь график выглядит ну уж очень характерно:

Spoiler                     

Видите, какой график рваный? У меня пока есть только два возможных объяснения такого поведения.
Первое: лимит на количество конкурентных запросов. Маловероятно, потому что ошибки валятся как на 10, так и на 20.
Второе: особенности работы механизма квотирования. Если представить себе, что бэкенд API немного перегружен и входящие запросы nginx ставит в очередь, а квотирование обсчитывается уже на апстримах, то я вполне могу себе представить, что некоторое количество запросов попадает в апстрим в один момент, вызывая отлупы. Если я прав, то исправить это можно либо попробовав обсчитывать квотирование на nginx (не уверен, что это можно сделать не дописывая модулей), либо пробрасывать реальное время поступления запроса в апстрим в каком-нибудь кастомном хедере вроде X-А-Вот-Тут-Лежит-Истинное-Время-Поступления-Запроса-На-Фронт.

В общем, товарищи, я прошу у вас помощи, потому как я уже сделал все, что мог. У меня все еще валятся REQUEST_LIMIT_EXCEEDED, хотя я запускаю не больше 10 запросов в секунду. Готов предоставить любые графики, логи - что угодно. Например, вот характерный кусок лога с ошибками:

Spoiler                     

Спасибо!

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

Hedeon #325 Отправлено 14 ноя 2013 - 18:56

    Старшина

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

Просмотр сообщенияshizzard (14 Ноя 2013 - 17:37) писал:

Ребят, мне ответа на свой вопрос ждать вообще стоит или нет? Вопрос важный, мне нужно знать ответ.
...
Мы некоторое время назад произвели перенастройку наших серверов, пожалуйста, проверьте, наблюдается ли у Вас проблема с ошибками REQUEST_LIMIT_EXCEEDED сейчас.

shizzard #326 Отправлено 15 ноя 2013 - 20:09

    Сержант

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

Просмотр сообщенияHedeon (14 Ноя 2013 - 18:56) писал:

Мы некоторое время назад произвели перенастройку наших серверов, пожалуйста, проверьте, наблюдается ли у Вас проблема с ошибками REQUEST_LIMIT_EXCEEDED сейчас.
Запустил прогрузку игроков на 10 минут - действительно, ошибки с лимитом исчезли, спасибо! Осталась лишь проблема с таймингом запроса, получение данных по технике игрока скачет от 10 до 25 секунд. Но стало гораздо лучше!
Я в ближайшее время попробую запустить больше воркеров чтобы получить заветные 10 запросов в секунду, если будут проблемы - отпишусь здесь.

Сообщение отредактировал shizzard: 15 ноя 2013 - 20:10

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

MustBeDead #327 Отправлено 16 ноя 2013 - 08:21

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

  • Игроки
  • 2868 боев
  • 286
  • Регистрация:
    22.04.2012

Просмотр сообщенияshizzard (15 Ноя 2013 - 20:09) писал:

Запустил прогрузку игроков на 10 минут - действительно, ошибки с лимитом исчезли, спасибо! Осталась лишь проблема с таймингом запроса, получение данных по технике игрока скачет от 10 до 25 секунд. Но стало гораздо лучше!
Я в ближайшее время попробую запустить больше воркеров чтобы получить заветные 10 запросов в секунду, если будут проблемы - отпишусь здесь.
Наблюдаются проблемы с производительностью некоторых методов, в частности account/tanks. Ведутся работы по оптимизации.
Приносим извинения за неудобство.
Кабинет разработчика Wargaming Developer Partner Program

Drahtigel #328 Отправлено 21 ноя 2013 - 11:23

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

  • Игроки
  • 44486 боев
  • 333
  • [IS-23] IS-23
  • Регистрация:
    31.07.2011
Хотелось бы видеть в методе clan/memberinfo историю кланов игрока, с датами вступления и выхода, а так же с "послужным списком" (какие должности занимал игрок). Я думаю, лидерам кланов эта информация будет полезна. Частично эти данные можно получить через 3-и сайты, но, имхо, лучше бы получать напрямую... Это в дополнение уже к существующему пожеланию.

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

 


Hedeon #329 Отправлено 21 ноя 2013 - 12:55

    Старшина

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

Просмотр сообщенияDrahtigel (21 Ноя 2013 - 11:23) писал:

Хотелось бы видеть в методе clan/memberinfo историю кланов игрока, с датами вступления и выхода, а так же с "послужным списком" (какие должности занимал игрок). Я думаю, лидерам кланов эта информация будет полезна. Частично эти данные можно получить через 3-и сайты, но, имхо, лучше бы получать напрямую... Это в дополнение уже к существующему пожеланию.
Спасибо за предложение. Оно будет рассмотрено нами в будущем.

STREJlA #330 Отправлено 21 ноя 2013 - 15:45

    Старшина

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

Цитата

добавлен новый метод вывода дат доступных рейтингов
По этому поводу появился вопрос.
Сейчас доступны данные об игроках на текущий момент.
Однако совсем недавно появился новый зал славы - где данные уже доступны за определенный период.
Правда ли, что теперь WG хранит статистику игроков за каждый (к примеру) день?
Если это так, то планируется ли в дальнейшем добавление параметров которые задавали бы, за какой промежуток времени нужны данные?
Планируете ли вы, в ближайшее время как то менять функционал профиля игрока на сайте?
Спасибо!

Hedeon #331 Отправлено 21 ноя 2013 - 15:57

    Старшина

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

Просмотр сообщенияSTREJlA (21 Ноя 2013 - 15:45) писал:

По этому поводу появился вопрос.
Сейчас доступны данные об игроках на текущий момент.
Однако совсем недавно появился новый зал славы - где данные уже доступны за определенный период.
Правда ли, что теперь WG хранит статистику игроков за каждый (к примеру) день?
Если это так, то планируется ли в дальнейшем добавление параметров которые задавали бы, за какой промежуток времени нужны данные?
Планируете ли вы, в ближайшее время как то менять функционал профиля игрока на сайте?
Спасибо!
1. На данный момент создание методов, которые бы отдавали статистику за временной промежуток, не планируется. Это связано со сложностью их технической реализации.
2. К сожалению, вопрос касательно профиля игрока находится вне компетенции команды разработки Public API.

MustBeDead #332 Отправлено 23 ноя 2013 - 18:04

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

  • Игроки
  • 2868 боев
  • 286
  • Регистрация:
    22.04.2012

Просмотр сообщенияMustBeDead (11 Ноя 2013 - 09:22) писал:

По умолчанию ответ передается без сжатия:
curl "http://api.worldofta...ount_id=6416452" -I
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 11 Nov 2013 07:08:31 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Vary: Accept-Encoding
X-Api-Version: 2.7.0
Content-Language: ru
Vary: Accept-Language, Cookie
Access-Control-Request-Method: GET, POST, HEAD
Access-Control-Allow-Origin: *
С дополнительным указанием в запросе Accept-Encoding:gzip со сжатием gzip:
curl "http://api.worldofta...ount_id=6416452" -I --header Accept-Encoding:gzip
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 11 Nov 2013 06:48:22 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Vary: Accept-Encoding
X-Api-Version: 2.7.0
Content-Language: ru
Vary: Accept-Language, Cookie
Access-Control-Request-Method: GET, POST, HEAD
Access-Control-Allow-Origin: *
Content-Encoding: gzip

Просмотр сообщенияmorecal (11 Ноя 2013 - 10:30) писал:

Так, тогда я не понимаю что то в этом мире.

curl "http://api.worldofta...ount_id=6416452"   --header Accept-Encoding:gzip -> текст
curl http://mail.ru   --header Accept-Encoding:gzip -> бинарные данные


curl http://mail.ru   --header Accept-Encoding:gzip  | gunzip -> текст
curl "http://api.worldofta...ount_id=6416452"   --header Accept-Encoding:gzip | gunzip  -> gzip: stdin: not in gzip format

Проблема исправлена.
Кабинет разработчика Wargaming Developer Partner Program

SanekFl #333 Отправлено 27 ноя 2013 - 15:35

    Ефрейтор

  • Игроки
  • 11703 боя
  • 25
  • Регистрация:
    21.08.2010
В документации в методе account/tanks поля achievements и statistics помечены "Внимание! Поле будет отключено.". Я правильно понимаю, что в будущем не будет никакой возможности получить статистику игрока по конкретной технике? Хотелось бы, чтобы данная возможность осталась.
И вообще шикарно было бы добавить параметр tank_ids, в котором можно указать id танков по которым вернуть информацию

Сообщение отредактировал SanekFl: 27 ноя 2013 - 16:15


Terradine #334 Отправлено 27 ноя 2013 - 16:22

    Младший сержант

  • Разработчики
  • 23046 боев
  • 97
  • Регистрация:
    31.03.2011

Просмотр сообщенияSanekFl (27 Ноя 2013 - 15:35) писал:

В документации в методе account/tanks поля achievements и statistics помечены "Внимание! Поле будет отключено.". Я правильно понимаю, что в будущем не будет никакой возможности получить статистику игрока по конкретной технике? Хотелось бы, чтобы данная возможность осталась.
И вообще шикарно было бы добавить параметр tank_ids, в котором можно указать id танков по которым вернуть информацию
Эти значения в методе account/tanks уже отключены, поля achievements и statistics возвращает метод account/info.

Сообщение отредактировал Terradine: 27 ноя 2013 - 16:22


thunderspb #335 Отправлено 27 ноя 2013 - 16:27

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

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

Просмотр сообщенияTerradine (27 Ноя 2013 - 16:22) писал:

Эти значения в методе account/tanks уже отключены, поля achievements и statistics возвращает метод account/info.
Была просьба вернуть это, чтобы иметь подробные данные по каждому танку... ТАк же как и in_garage :)
Все, что вы хотели узнать про статистику онлайна с преферансом и куртизанками графиками покластерно и посерверно: https://stats.wotapi.ru/

Terradine #336 Отправлено 27 ноя 2013 - 16:51

    Младший сержант

  • Разработчики
  • 23046 боев
  • 97
  • Регистрация:
    31.03.2011

Просмотр сообщенияthunderspb (27 Ноя 2013 - 16:27) писал:

Была просьба вернуть это, чтобы иметь подробные данные по каждому танку... ТАк же как и in_garage :)

Новые методы танков сейчас находятся в разработке. Как уже не раз сообщалось, работы по заполнению валидными данными поля in_garage уже ведутся.

bondarenkod #337 Отправлено 28 ноя 2013 - 00:39

    Ефрейтор

  • Игроки
  • 7855 боев
  • 45
  • [D7_UA] D7_UA
  • Регистрация:
    13.07.2011
А нет варианта API в каком-нить неHTML формате? А то долго генерить классы (в моем случае на C#) - сперва HTML отпарсил, перегнал в JSON, а потом сгенерил c# классы
Типо вот так: https://dl.dropbox.c...27_23-38-57.png

Возможно, было бы неплохо такую штуку реализовать.
Зачем? А что бы при смене API не тратить на это драгоценное время программиста. Вот лично мне влом.

shizzard #338 Отправлено 28 ноя 2013 - 00:54

    Сержант

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

Просмотр сообщенияbondarenkod (28 Ноя 2013 - 00:39) писал:

А нет варианта API в каком-нить неHTML формате? А то долго генерить классы (в моем случае на C#) - сперва HTML отпарсил, перегнал в JSON, а потом сгенерил c# классы
Типо вот так: https://dl.dropbox.c...27_23-38-57.png
Возможно, было бы неплохо такую штуку реализовать.
Зачем? А что бы при смене API не тратить на это драгоценное время программиста. Вот лично мне влом.

Вы хотите генерировать DAO из описания API? А как вам это сэкономит время, если вам все равно логику дописывать придется?
Свободное общение на тему разработки под WG Public API: xmpp://wg-papi@conference.jabber.ru

bondarenkod #339 Отправлено 28 ноя 2013 - 01:08

    Ефрейтор

  • Игроки
  • 7855 боев
  • 45
  • [D7_UA] D7_UA
  • Регистрация:
    13.07.2011
Здорово сэкономит. Логика будет на DAO основываться, которые автоматом подтягиваются с сервера. После очередного обновления API на нем.
Таким образом я за менее чем 3 минуты получу рабочий вариант движка, который уже делает запросы на сервер, единственное, что мне останется - подогнать код приложения под новые фичи API. Которые отследить так же станет проще - достаточно будет сделать diff между релизами проекта с DAO + ApiClient (который, собственно и делает запросы основываясь на том, что сгенерилось).
А что мне нужно иначе сделать.
Посмотреть список, не изменилось ли кол-во публичных методов в АПИ.
Открыть каждый, сверить поля органолептическим методом с точностью до символа (вдруг, когда-то опечатку допустили), их количество.
И так в каждом из классов, вместе с подклассами.
Я не хочу этим заниматься, я программист. Я хочу кодить, а не строки сравнивать. Я уже написал парсер, дописываю часть, которая выполняет запросы на сервер, точнее, генерирую методы для выполнения запросов в сетевом движке.
Изображение

Сообщение отредактировал bondarenkod: 28 ноя 2013 - 01:09


bondarenkod #340 Отправлено 28 ноя 2013 - 01:14

    Ефрейтор

  • Игроки
  • 7855 боев
  • 45
  • [D7_UA] D7_UA
  • Регистрация:
    13.07.2011
Это в том случае, конечно, если не будет больших правок, а так же если изменят разметку в описании АПИ. Впрочем, у меня отдельно идет генерация JSON данных, а потом на основе этих JSON данных генерирую классы. Оно связано только структурно. Править нужно будет в двух вариантах - что-то изменится серъезное в API.
Вот конкретно сейчас у меня завязка определенные типы данных, они у меня в Enum, если появится новый - нужно править, добавлять. Это правка в двух местах всего - в enum добавить, и в метод, который возвращает внутренний тип для класса. Например, Numeric -> int.
Второй вариант правок - весьма не сложный - это изменений кода парсинга разметки html.

Сообщение отредактировал bondarenkod: 28 ноя 2013 - 01:23


Terradine #341 Отправлено 28 ноя 2013 - 09:27

    Младший сержант

  • Разработчики
  • 23046 боев
  • 97
  • Регистрация:
    31.03.2011

Просмотр сообщенияbondarenkod (28 Ноя 2013 - 00:39) писал:

А нет варианта API в каком-нить неHTML формате? А то долго генерить классы (в моем случае на C#) - сперва HTML отпарсил, перегнал в JSON, а потом сгенерил c# классы
Типо вот так: https://dl.dropbox.c...27_23-38-57.png
API возвращает данные в формате JSON, пожалуйста, уточните метод где вы наткнулись на ответ в html-формате.
Что касается Вашего предложения по DAO. Советуем Вам ознакомится с тем что из себя представляет общая концепция web api, в каком формате обычно происходит передача запросов и ответов, как осуществляются сами запросы и сами ответы. Вы поймете что формат ответа не должен быть привязан к конкретной платформе, а должен быть универсален.
Формат данных в JSON, генерируемый нашей API, достаточно статичен и универсален и о малейших изменениях в структуре будет оповещаться заранее в кабинете разработчика
P.S. Вы ознакомились с документацией, предоставленной в кабинете разработчика? https://ru.wargaming...etting_started/




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

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