news: reduce headline max age from 24h to 12h, make configurable
- Added headline_max_age_seconds to NewsConfig (default 43200 = 12h) - Replaced hardcoded 86400 in _fetch_news_sentiment_raw with config ref - All downstream consumers (keyword scoring, LLM scoring, LLM summary, agent panel macro/contrarian) auto-filter through the same path
This commit is contained in:
@@ -166,6 +166,9 @@ class NewsConfig:
|
|||||||
# Must stay below pre_event_buffer_minutes so an event can't cross
|
# Must stay below pre_event_buffer_minutes so an event can't cross
|
||||||
# into the danger window while a stale cache says it's clear.
|
# into the danger window while a stale cache says it's clear.
|
||||||
context_cache_ttl_seconds: int = 600
|
context_cache_ttl_seconds: int = 600
|
||||||
|
# Maximum age of RSS headlines accepted for scoring. Older headlines
|
||||||
|
# are discarded before keyword analysis and LLM enrichment.
|
||||||
|
headline_max_age_seconds: int = 43200 # 12 hours
|
||||||
|
|
||||||
rss_feeds: List[str] = field(default_factory=lambda: [
|
rss_feeds: List[str] = field(default_factory=lambda: [
|
||||||
"https://investinglive.com/feed/",
|
"https://investinglive.com/feed/",
|
||||||
|
|||||||
+2
-2
@@ -770,8 +770,8 @@ class NewsEngine:
|
|||||||
pub_date_el.text if pub_date_el is not None else None
|
pub_date_el.text if pub_date_el is not None else None
|
||||||
)
|
)
|
||||||
|
|
||||||
# Only recent headlines (last 24h)
|
# Only recent headlines (configurable: headline_max_age_seconds)
|
||||||
if pub_date and (datetime.now(timezone.utc) - pub_date).total_seconds() > 86400:
|
if pub_date and (datetime.now(timezone.utc) - pub_date).total_seconds() > self.config.headline_max_age_seconds:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
# Dedup within and across feeds so a syndicated story
|
# Dedup within and across feeds so a syndicated story
|
||||||
|
|||||||
Reference in New Issue
Block a user