Skip to content

[Bug] ошибка в MarketDataCache при возвращении данных из кеша #240

Open
keepitsimple opened this issue Jul 22, 2023 · 1 comment
Assignees
Labels
bug Something isn't working

Comments

@keepitsimple
Copy link

Что случилось?

Ваш пример examples/download_all_candles.py при повторном запуске возвращает РАЗНОЕ кол-во данных

  1. Для наглядности проблемы нужно увеличить интервал с 1 минуты на 1 день и проблема сразу станет видна (см код).
  2. Запустить код первый раз - код возвращает данные для 4 дней (как и запрошено)
  3. Запустить код повторно (будет использоваться кеш) - в этот раз код вернет данные только для 2 дней

я проверил автотесты для MarketDataCache и я не нашел теста сравнения данных возвращаемых первый раз и из кеша.

Воспроизведение

def main():
    with Client(TOKEN) as client:
        settings = MarketDataCacheSettings(base_cache_dir=Path("market_data_cache"))
        market_data_cache = MarketDataCache(settings=settings, services=client)
        for candle in market_data_cache.get_all_candles(
            figi="BBG004730N88",
            from_=now() - timedelta(days=3),
            interval=CandleInterval.CANDLE_INTERVAL_DAY,
        ):
            print(candle.time)

    return 0

Tinkoff Invest Version

0.2.0-beta58

Python Version

3.8

OS

Mac OS

Логи

# 1ый запуск - правильный ответ
2023-07-19 07:00:00+00:00
2023-07-20 07:00:00+00:00
2023-07-21 07:00:00+00:00
2023-07-22 07:00:00+00:00

# 2ой запуск - неправильный ответ
2023-07-20 07:00:00+00:00
2023-07-21 07:00:00+00:00
@keepitsimple keepitsimple added the bug Something isn't working label Jul 22, 2023
@irusland irusland assigned irusland and unassigned daxartio Aug 3, 2023
@irusland
Copy link
Contributor

irusland commented Aug 3, 2023

Поведение воспроизвел, тест на это есть - test_loads_from_net_then_from_cache. Сейчас буду разбираться.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants