fix: delete all progress keys on unregister

- Delete progress:{uuid}:pipeline, :agent, :tkg
- Prevents stale Redis data from blocking new registrations
This commit is contained in:
Accusys
2026-07-20 23:45:48 +08:00
parent 29d2cc7315
commit d25b5921f7
+15 -13
View File
@@ -1263,20 +1263,22 @@ async fn unregister(
deleted += 1; deleted += 1;
} }
// Delete PipelineProgress key // Delete PipelineProgress keys (all variants)
let progress_key = format!( let progress_patterns = [
"{}progress:{}:pipeline", format!("{}progress:{}:pipeline", crate::core::config::REDIS_KEY_PREFIX.as_str(), uuid),
crate::core::config::REDIS_KEY_PREFIX.as_str(), format!("{}progress:{}:agent", crate::core::config::REDIS_KEY_PREFIX.as_str(), uuid),
uuid format!("{}progress:{}:tkg", crate::core::config::REDIS_KEY_PREFIX.as_str(), uuid),
); ];
if let Ok(mut conn) = redis.get_conn().await { if let Ok(mut conn) = redis.get_conn().await {
let _: Option<String> = redis::cmd("DEL") for key in &progress_patterns {
.arg(&progress_key) let _: Option<String> = redis::cmd("DEL")
.query_async(&mut conn) .arg(key)
.await .query_async(&mut conn)
.ok(); .await
tracing::info!("[UNREGISTER] Deleted Redis PipelineProgress for {}", uuid); .ok();
deleted += 1; }
tracing::info!("[UNREGISTER] Deleted Redis PipelineProgress keys for {}", uuid);
deleted += progress_patterns.len() as u64;
} }
Some(deleted) Some(deleted)