MCPcopy
hub / github.com/dataelement/Clawith / start_trigger_daemon

Function start_trigger_daemon

backend/app/services/trigger_daemon.py:288–311  ·  view source on GitHub ↗

Start the background trigger daemon loop. Called from FastAPI startup.

()

Source from the content-addressed store, hash-verified

286
287
288async def start_trigger_daemon():
289 """Start the background trigger daemon loop. Called from FastAPI startup."""
290 logger.info("⚡ Trigger Daemon started (15s tick, heartbeat every ~60s)")
291 _heartbeat_counter = 0
292 while True:
293 try:
294 await _tick()
295 except Exception as e:
296 logger.error(f"Trigger Daemon error: {e}")
297 import traceback
298 traceback.print_exc()
299
300 # Run heartbeat check every 4th tick (~60 seconds)
301 _heartbeat_counter += 1
302 if _heartbeat_counter >= 4:
303 _heartbeat_counter = 0
304 _cleanup_stale_invoke_cache()
305 try:
306 from app.services.heartbeat import _heartbeat_tick
307 await _heartbeat_tick()
308 except Exception as e:
309 logger.error(f"Heartbeat tick error: {e}")
310
311 await asyncio.sleep(TICK_INTERVAL)

Callers 1

lifespanFunction · 0.90

Calls 3

_heartbeat_tickFunction · 0.90
_tickFunction · 0.70

Tested by

no test coverage detected