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
+11 -9
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 {
for key in &progress_patterns {
let _: Option<String> = redis::cmd("DEL") let _: Option<String> = redis::cmd("DEL")
.arg(&progress_key) .arg(key)
.query_async(&mut conn) .query_async(&mut conn)
.await .await
.ok(); .ok();
tracing::info!("[UNREGISTER] Deleted Redis PipelineProgress for {}", uuid); }
deleted += 1; tracing::info!("[UNREGISTER] Deleted Redis PipelineProgress keys for {}", uuid);
deleted += progress_patterns.len() as u64;
} }
Some(deleted) Some(deleted)