/
fgtmenow
/
tb
Обзор
Документация
Войти
/
fgtmenow
/
tb
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
bot/actions/RefreshInstruments.py
47 строк
2 KB
artemazarev
move config to bot
30 мар 2025, 03:48
30 мар 2025, 03:48
aa3c5ae
Код
Авторство
О чём код?
from _common.api.GetInstrumentsInfo import get_instruments_info from _common.api.GetTickets import get_tickets from _common.domain.util.Logger import print_message from bot.actions.base.BaseAction import BaseAction from bot.objects.EventProcessor import EventProcessor """ Класс для обновления информации об инструментах. Получает актуальные данные о торговых инструментах и обновляет кэш. Attributes: cache (bool): Флаг использования кэширования """ class RefreshInstruments(BaseAction): def __init__(self, target: list[str], cache: bool = True): """ Инициализация обновления инструментов. Args: cache (bool): Флаг использования кэширования """ super().__init__(self.__class__.__name__) self.cache = cache self.target = target def work(self, processor: EventProcessor): """ Выполняет обновление информации об инструментах: 1. Получает список доступных тикеров 2. Загружает информацию по каждому инструменту 3. Обновляет кэш инструментов Args: processor (EventProcessor): Процессор событий """ tickets = get_tickets(session=self.store.session, target=self.target, trace=False) instruments = get_instruments_info( session=self.store.session, target=self.target, trace=False, tickers=dict(tickets) ) self.instrumentCache.instruments = instruments print_message(f"Refresh instrument finished. Count = {len(self.instrumentCache.instruments)}")