From a6f91232285ad2db0ac58a7d0bc196e47da1ca8c Mon Sep 17 00:00:00 2001 From: soryu Date: Wed, 21 Jan 2026 23:47:38 +0000 Subject: Heartbeat daemon --- makima/src/server/handlers/mesh_daemon.rs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'makima/src/server') diff --git a/makima/src/server/handlers/mesh_daemon.rs b/makima/src/server/handlers/mesh_daemon.rs index 22a2792..6262975 100644 --- a/makima/src/server/handlers/mesh_daemon.rs +++ b/makima/src/server/handlers/mesh_daemon.rs @@ -696,7 +696,20 @@ async fn handle_daemon_connection(socket: WebSocket, state: SharedState, auth_re "Daemon {} heartbeat: {} active tasks", daemon_uuid, active_tasks.len() ); - // TODO: Update daemon last_heartbeat_at in DB + // Update daemon last_heartbeat_at in DB + if let Some(ref pool) = state.db_pool { + let pool = pool.clone(); + let daemon_id = daemon_uuid; + tokio::spawn(async move { + if let Err(e) = repository::update_daemon_heartbeat(&pool, daemon_id).await { + tracing::warn!( + daemon_id = %daemon_id, + error = %e, + "Failed to update daemon heartbeat" + ); + } + }); + } } Ok(DaemonMessage::TaskOutput { task_id, output, is_partial }) => { // Parse the output line and broadcast structured data -- cgit v1.2.3