refactor(main): remove unused Python heartbeat in favor of cron job

Heartbeat is now handled exclusively by the Claude-based cron job
(heartbeat-2h in jobs.json), which is more flexible.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-23 20:02:23 +00:00
parent 0c02f0de50
commit 537bab465c

View File

@@ -83,37 +83,6 @@ def main():
scheduler = Scheduler(send_callback=_send_to_channel, config=config)
client.scheduler = scheduler # type: ignore[attr-defined]
# Heartbeat: register as periodic job if enabled
hb_config = config.get("heartbeat", {})
if hb_config.get("enabled"):
from src.heartbeat import run_heartbeat
interval_min = hb_config.get("interval_minutes", 30)
hb_channel = hb_config.get("channel", "echo-core")
async def _heartbeat_tick() -> None:
"""Run heartbeat and send findings to channel."""
try:
result = await asyncio.to_thread(run_heartbeat, config)
logger.info("Heartbeat: %s", result)
if result and "HEARTBEAT_OK" not in result:
await _send_to_channel(hb_channel, result)
except Exception as exc:
logger.error("Heartbeat failed: %s", exc)
from apscheduler.triggers.interval import IntervalTrigger
scheduler._scheduler.add_job(
_heartbeat_tick,
trigger=IntervalTrigger(minutes=interval_min),
id="__heartbeat__",
max_instances=1,
)
logger.info(
"Heartbeat registered (every %d min, channel: %s)",
interval_min, hb_channel,
)
# Newsletter Cercetași checker (optional)
newsletter_config = config.get("newsletter_cercetasi", {})
if newsletter_config.get("enabled"):