Source code for kuhl_haus.mdp.enum.widget_data_cache_ttl

"""Redis TTL values for Widget Data Cache (WDC) entries.

Defines expiration times for all widget-facing cached data. These TTLs govern
how long Processor/Analyzer results remain available in the WDC for widget
consumption. Separated from MarketDataCacheTTL which governs internal MDC data.
"""
from enum import Enum

from kuhl_haus.mdp.enum.constants import (
    EIGHT_HOURS,
    FOUR_DAYS,
    ONE_MINUTE,
    SEVEN_DAYS,
    TWO_DAYS,
)


[docs] class WidgetDataCacheTTL(Enum): """Time-to-live durations for Widget Data Cache entries. Covers scanner results, quote feeds, and news feeds — all data written by Analyzers and consumed by the Widget Data Service. """ # Quote feed QUOTE = FOUR_DAYS # Stale data > no data; timestamp in payload shows freshness # Scanner caches TOP_STOCKS_SCANNER = FOUR_DAYS TOP_VOLUME_SCANNER = FOUR_DAYS TOP_GAINERS_SCANNER = FOUR_DAYS TOP_GAPPERS_SCANNER = FOUR_DAYS # Top Trades widget caches TOP_TRADES_WIDGET_CACHE_TTL = ONE_MINUTE TOP_TRADES_ALL_SYMBOLS_CACHE_TTL = ONE_MINUTE # Finlight news caches NEWS_FEED_LATEST = TWO_DAYS NEWS_TICKER = SEVEN_DAYS # Daily range (HOD/LOD) cache DAILY_RANGE = FOUR_DAYS # 4 days — consistent with QUOTE TTL # Daily range alert event channels — 8 hours; alerts are intraday only DAILY_RANGE_ALERT = EIGHT_HOURS