Skip to content

BrokerReport через время возвращает пустые отчёты по датам, для которых данные были #370

Open
pskucherov opened this issue Feb 10, 2023 · 3 comments

Comments

@pskucherov
Copy link
Contributor

Эту проблему я уже частично описывал здесь #341
Про то что для сформированных отчётов не возвращается taskId. Теперь продолжение.

Для ранее созданных отчётов перестали возвращаться данные за те же даты, по которым они создавались ранее.

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

Даты, по которым ожидаю данные. Попробовал сделать на 1мс меньше, ничего не изменилось.
image

Но если сделать на день меньше, то формируется новый taskId и затем данные появляются.
image

В целом не очень понятно зачем нужен GetBrokerReportRequest, если taskId можно получить только пока данные готовятся. А когда данные есть, то GenerateBrokerReportRequest возвращает данные. С такой логикой дёргать GetBrokerReportRequest смысла нет.

@pskucherov
Copy link
Contributor Author

@AlexanderVolkovTCS

@AlexanderVolkovTCS
Copy link
Collaborator

Для ранее созданных отчётов перестали возвращаться данные за те же даты, по которым они создавались ранее.

вы их запрашивали через taskId ?

Попробовал сделать на 1мс меньше, ничего не изменилось.

все верно, миллисекунды в отчете не учитываются, рекомендуем смещать на +-1 день

В целом не очень понятно зачем нужен GetBrokerReportRequest, если taskId можно получить только пока данные
готовятся.

Если робот производит очень много сделок, то отчет может генерироваться длительное время.
Поэтому в процессе генерации и возвращается taskId, чтобы в будущем вы могли обращаться к get_broker_report_request с этим taskId и проверять готовность отчета. Этот способ предпочтительней, чем повторять запрос.

@pskucherov
Copy link
Contributor Author

вы их запрашивали через taskId ?

@AlexanderVolkovTCS в самом начале написано и в этом ишью, и в прошлом для сформированных отчётов не возвращается taskId.

Может быть, по 100500 лет назад сформированному taskId данные и будут возвращаться. Но у меня его нет, т.к. кеши были дропнуты. А generateBrokerReportRequest возвращает undefined вместо taskId, это показано на первом скрине.

Ещё раз.

  1. Запрашиваешь отчёт за даты, возвращается taskId
  2. Когда отчёт готов, taskId уже не возвращается. Если ты потерял taskId, то данные за эти даты можно получить только из generateBrokerReportRequest, а taskId за эти даты получить невозможно.
  • проходят недели-месяцы-годы *
  1. Генерируешь отчёт за эти же даты и в generateBrokerReportRequest нет ни taskId, ни данных.

чтобы в будущем вы могли обращаться к get_broker_report_request с этим taskId и проверять готовность отчета

Сейчас можно чекать запрашивая generateBrokerReportRequest. Если taskId есть, то отчёт ещё не готов. Если отчёт готов, то придут данные, а taskId не придёт. А через время вообще ничего не придёт ))

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants