chore(cron): move recommendation + LLM enrichment to overnight

DeepSeek API spend isn't justified by minute-by-minute freshness when
ops review insights in the morning. Run rules at 02:00 UTC and the
enrichment pass at 03:00 UTC so summaries are ready by 9 AM local.

- RecommendationsRunWorker: hourly → 02:00 UTC daily
- InsightLlmEnrichmentWorker: every 5 min → 03:00 UTC daily
This commit is contained in:
Graham McIntire 2026-05-10 10:46:47 -05:00
parent b1c803e1d2
commit 8f45057ba5

View file

@ -258,10 +258,14 @@ if config_env() == :prod do
{"*/5 * * * *", Towerops.Workers.SystemInsightWorker},
# Wireless client health insights every 5 minutes
{"*/5 * * * *", Towerops.Workers.WirelessInsightWorker},
# Enrich active insights with LLM-generated summaries every 5 minutes
{"*/5 * * * *", Towerops.Workers.InsightLlmEnrichmentWorker},
# Run multi-source recommendation rules hourly
{"0 * * * *", Towerops.Workers.RecommendationsRunWorker},
# Run multi-source recommendation rules nightly at 02:00 UTC.
# Fresh insights are ready before the LLM enrichment pass at 03:00.
{"0 2 * * *", Towerops.Workers.RecommendationsRunWorker},
# Enrich active insights with LLM-generated summaries nightly at
# 03:00 UTC. Batched once a day instead of every 5 minutes — the
# API spend isn't justified by minute-by-minute freshness when
# ops review the dashboard in the morning.
{"0 3 * * *", Towerops.Workers.InsightLlmEnrichmentWorker},
# Gaiia reconciliation insights nightly at 4:30 AM
{"30 4 * * *", Towerops.Workers.GaiiaInsightWorker},
# Backhaul capacity utilization insights every 15 minutes