literate-perfunctory
Poker Software
Results 1 to 9 of 9
  1. #1
    Junior Member
    Join Date
    Aug 2019
    Posts
    5

    Exclamation Проблема с api hm2

    Здравствуйте, уважаемая поддержка!

    Я являюсь разработчиком и пишу небольшую программу для автосбора чипев и профита из трекеров PT4 и HM2.
    С PT4 проблем нет, так как структура базы прозрачная, а формула любой статы отображается в самой программе.

    Но когда я попытался разобраться со структурой базы данных HM2, то быстро понял, что HM2 устроен совершенно иначе. В базе лишь некоторые данные, а большинство формул заложены в самом коде.
    Наткнулся на API, как я понял, это последняя версия. Разобрался, нужный запрос работает и меня в нем все устраивает, так как это даже проще, чем разбираться с БД.

    НО странность в том, что запрос работает только при первом запуске, если нажать второй раз и т.д, то запрос почему-то суммирует все числовые данные, выводя только одну строку, а в столбце номера турнира выводит только первый турнир.
    На анимации по ссылке я это продемонстрировал:
    https://i.vgy.me/wBrKEa.gif

    Помогает только перезапуск HM2. Именно HM2, так как перезапуск проги API не помогает. Если через браузер вводить запрос, то проблема та же - только первый запрос. То есть проблема точно в самом модуле API.
    Более того, проблема именно с запросами из стат (from stats), если подтягивать из рук (from hands), то такого не наблюдается.

    Мой запрос select StatPlayerNameAndSite, StatTourneyNumber, StatAllInEVAdjustedChips, StatTourneyNetWinnings,StatTourneyDate,StatTourney TotalBuyin from stats group by StatTourneyNumber

    Но проблема точно не в моем запросе, так как если вводить самый простой, то проблема будет та же. Вы можете сами в этом убедиться.

    На форуме нашел одну тему, где писали о недавнем обновлении модуля
    Возможно проблема в этом.

    Помогите, пожалуйста, как можно быстрее решить вопрос, так как от этого зависит рентабельность моей программы.
    Или хотя бы как-то обойти эту проблему или вытянуть эти данные другим способом.

  2. #2
    Holdem Manager Support Sarek's Avatar
    Join Date
    May 2010
    Location
    Eridani 40
    Posts
    20,977

    Default

    Полагаю, что стоило бы опубликовать этот вопрос (но, естественно, по-английски и покороче) в той же теме, на которую сам же дал ссылку.
    Лично мне вот кажется (хотя в этом API экспертом не являюсь), что дело в кешировании информации из БД.
    И, кстати: о том, что данные ХМ2 хранит в двух раздельных местах, и только половина содержится в PostgreSQL database - в курсе?

    И еще: вот эта фраза "большинство формул заложены в самом коде" действительности не соответствует. Потому что на самом деле различных формул "как таковых" для тех или иных статов - нет вообще, в отличие от ПТ4. А в ХМ2 есть одинаковая почти для всех статов формула "число случаев деленное на число возможностей". Вот она в коде - есть.

  3. #3
    Junior Member
    Join Date
    Aug 2019
    Posts
    5

    Default

    Полагаю, что стоило бы опубликовать этот вопрос (но, естественно, по-английски и покороче) в той же теме, на которую сам же дал ссылку.
    Не сделал там же, потому что не уверен, что проблема в именно в этом.
    Но продублировал отдельную тему также на английском. Не знал, где быстрее ответят.

    данные ХМ2 хранит в двух раздельных местах
    да, я в курсе - как здесь
    но разобрать, что за кошмар в этих файлах я так и не смог
    буду благодарен, если Вы распишите, что в них за цифры, и помогут ли мне вообще как-то

    дело в кешировании информации из БД
    скорее всего так и есть - ведь точно то, что где-то этот кэш он хранит, раз при втором запуске врет.
    Но вопрос - где? я пытался искать и в базе, и в файлах, какие файлы изменяет программа - ничего не нашел. В логах об этом также ничего нет.
    Моя идея в том, чтобы удалять этот кэш при каждом новом запросе - для меня этого будет достаточно и быстрее, чем ждать исправления в коде модуля. Но раз кэш удаляется при перезапуске - то подозреваю, что скорее всего хранит он напрямую в оперативной памяти на время работы программы, и тогда исправить можно только в коде, увы.
    Также думал, что для модуля API программа запускает отдельный процесс, но я его не нашел - идея была в том, чтобы перезапускать этот процесс и тогда проблема была бы решена.
    Если вы знаете где он хранит кэш или какие-то другие предложения, то буду очень благодарен.
    Или возможно вы знаете, как быстро программисты могут исправить эту проблему (по идее, это пара строк кода), если сами программистом не являетесь.
    Спасибо за отзывчивость!

  4. #4
    Holdem Manager Support Sarek's Avatar
    Join Date
    May 2010
    Location
    Eridani 40
    Posts
    20,977

    Default

    Наши разработчики создали статью FAQ (вы ее видели) по API - и посчитали это достаточным. Более ничего комментировать и\или документировать они не будут, спрашивали еще давно. В том числе и формат файлов в папке Parent. ну, в общем виде - там записываются фактические данные по действиям и возможностям их исполнить для каждого игрока в каждой раздаче. А когда нужно вычислить значение того или иного стата - это все обсчитывается "на лету", в оперативке. Для того и Loading hands на старте ХМ выполняется. Так быстрее, чем из postgres database извлекать.
    А поскольку те несколько сотен мегабайт в ОЗУ программой захватываются эксклюзивно - туда не залезть. И чтобы зарезетить - надо в самом деле рестарт ХМ делать.

  5. #5
    Junior Member
    Join Date
    Aug 2019
    Posts
    5

    Default

    Мне хватает той документации, которая есть.
    Запросы работают, и мне было бы этого достаточно, если бы не один баг, который все портит. И это именно баг, а не фича.
    Прошу прощения, но по вашему ответу может показаться, что разработчики ничего исправлять и не собираются. Прямого ответа на свой вопрос я не увидел.

    Поэтому спрошу еще раз - как быстро программисты могут исправить эту проблему? и да, будут ли вообще исправлять?
    Или куда мне обратиться, чтобы мне ответили напрямую, если вы не знаете?

    Нам очень важно, чтобы эта функция работала корректно, так как не хочется пересаживать несколько сотен наших пользователей на другой трекер - это обернется потерей клиентов не только для нас, но и для вас. Спасибо за понимание!

  6. #6
    Holdem Manager Support Sarek's Avatar
    Join Date
    May 2010
    Location
    Eridani 40
    Posts
    20,977

    Default

    Куда обратиться - я уже сказал: в ту тему про api, которая по-английски.
    А насчет будет ли исправлять, и если да, то как быстро: надо в первую очередь учитывать занятость разработчиков доводкой ХМ3 до "выпускных кондиций", а также связанную с этим "устареваемость" ХМ2 … дальше сплошные догадки.

  7. #7
    Senior Member
    Join Date
    Sep 2015
    Posts
    107

    Default

    Quote Originally Posted by dispbd View Post
    Мне хватает той документации, которая есть.
    Запросы работают, и мне было бы этого достаточно, если бы не один баг, который все портит. И это именно баг, а не фича.
    Прошу прощения, но по вашему ответу может показаться, что разработчики ничего исправлять и не собираются. Прямого ответа на свой вопрос я не увидел.

    Поэтому спрошу еще раз - как быстро программисты могут исправить эту проблему? и да, будут ли вообще исправлять?
    Или куда мне обратиться, чтобы мне ответили напрямую, если вы не знаете?

    Нам очень важно, чтобы эта функция работала корректно, так как не хочется пересаживать несколько сотен наших пользователей на другой трекер - это обернется потерей клиентов не только для нас, но и для вас. Спасибо за понимание!
    скажу по опыту, что вероятность, что кто-то что-то будет делать около нуля
    они мелкие баги 5-6 летний давности править не собираются, а вы к ним с апи пришли :d:d:d

    Чтобы понимать уровень их работы: писал в ветке НК, чтобы убрали свои ***ные бекапы. ***** написал, мол да, так не надо. Вот моя папка сегодня (кликабельно):

    Untitled.png
    Last edited by ivanthefool; 08-26-2019 at 04:38 PM.

  8. #8
    PostgreSQL Whisperer
    Join Date
    May 2011
    Posts
    783

    Default

    Nc и hm2-две разные программы. За данные бекапы насколько мне известно отвечает именно nc, поэтому и обращаться надо в саппорт nc.

  9. #9
    Senior Member
    Join Date
    Sep 2015
    Posts
    107

    Default

    Quote Originally Posted by Ishikawa View Post
    Nc и hm2-две разные программы. За данные бекапы насколько мне известно отвечает именно nc, поэтому и обращаться надо в саппорт nc.
    https://forums.holdemmanager.com/sho...=1#post2497619
    могу еще много чего припомнить))

Similar Threads

  1. Replies: 1
    Last Post: 03-11-2016, 03:26 PM
  2. Replies: 1
    Last Post: 10-29-2015, 01:39 PM
  3. Replies: 12
    Last Post: 05-26-2015, 01:39 AM
  4. Replies: 1
    Last Post: 04-01-2015, 10:44 AM
  5. Проблема в сканировании на ПокерСтарс (Пр
    By piramida13 in forum Русский форум
    Replies: 4
    Last Post: 03-20-2011, 12:03 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •