3.1 KiB
3.1 KiB
019. Часовой обход и онлайн-справочник инструментов
Status: Accepted. Заменяет request-driven, manual-refresh и no-periodic-walk части ADR 017 и дополняет ADR 018.
Decision
- Личные T-Bank данные текущего подключения обновляются владельцами источников через durable hourly walk; его результат ограничен этой connection boundary. Обычный GET и retry читают только сохранённый результат и не запускают personal work.
- Только первое открытие неподтверждённого исторического интервала operations и первого неоткрытого диапазона candles может получить соответственно этот интервал или диапазон. Это не manual sync; повторное чтение не расширяет и не запускает такую работу заново.
- Portfolio, operations, forecasts и события сохраняют собственные complete
результаты и время последнего успешного чтения. Результат ресурса
(freshness, completeness,
lastSuccessfulAt, availability) независим от resource-relevant последней часовой попытки: поздняя partial/failed попытка не заменяет сохранённый complete result. При его отсутствииdata: null. - Detail, company, catalog search и ticker lookup получают ответ онлайн через существующие integration clients. Их ошибки не заменяют сохранённые финансовые данные или подписи snapshot.
- Старые справочные строки не являются источником актуальности и удаляются только отдельной совместимой миграцией после проверки FK и свечей.
- Клиент повторяет открытые инвестиционные GET не чаще одного раза в 30 минут;
retry повторяет чтение и не создаёт screen sync work. Наблюдение последней
попытки, включая Accounts
sync, не является командой.
Consequences
Карточки инструментов зависят от доступности публичного upstream в момент чтения. Финансовые экраны сохраняют последний успешный snapshot, а статус последнего hourly walk показывается отдельно. OpenAPI backend остаётся единственным исполняемым источником HTTP-контракта; frontend использует опубликованный snapshot.