summaryrefslogtreecommitdiff
path: root/makima/src
diff options
context:
space:
mode:
Diffstat (limited to 'makima/src')
-rw-r--r--makima/src/server/handlers/mesh_daemon.rs15
1 files changed, 14 insertions, 1 deletions
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