rebuild_queue: switch dashboard / auto-update / manager call sites to enqueue
This commit is contained in:
parent
37f6bc4b6b
commit
11db5c2a8f
3 changed files with 48 additions and 139 deletions
|
|
@ -291,25 +291,16 @@ async fn dispatch(req: &ManagerRequest, coord: &Arc<Coordinator>) -> ManagerResp
|
|||
}
|
||||
}
|
||||
ManagerRequest::Update { name } => {
|
||||
tracing::info!(%name, "manager: update");
|
||||
let Some(current_rev) = crate::auto_update::current_flake_rev(&coord.hyperhive_flake)
|
||||
else {
|
||||
return ManagerResponse::Err {
|
||||
message: "update: hyperhive_flake has no canonical path".into(),
|
||||
};
|
||||
};
|
||||
let guard = coord.transient_guard(name, crate::coordinator::TransientKind::Rebuilding);
|
||||
let result = crate::auto_update::rebuild_agent(coord, name, ¤t_rev).await;
|
||||
drop(guard);
|
||||
match result {
|
||||
Ok(()) => {
|
||||
coord.kick_agent(name, "container rebuilt");
|
||||
ManagerResponse::Ok
|
||||
}
|
||||
Err(e) => ManagerResponse::Err {
|
||||
message: format!("{e:#}"),
|
||||
},
|
||||
}
|
||||
tracing::info!(%name, "manager: enqueue update");
|
||||
coord.rebuild_queue.enqueue(
|
||||
crate::rebuild_queue::QueueKind::Rebuild,
|
||||
name.to_owned(),
|
||||
crate::rebuild_queue::QueueSource::Manual,
|
||||
"manager `update` tool".to_owned(),
|
||||
None,
|
||||
);
|
||||
coord.emit_rebuild_queue_snapshot();
|
||||
ManagerResponse::Ok
|
||||
}
|
||||
ManagerRequest::RequestUpdateMetaInputs {
|
||||
inputs,
|
||||
|
|
|
|||
Loading…
Reference in a new issue