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;
}
// Delete PipelineProgress key
let progress_key = format!(
"{}progress:{}:pipeline",
crate::core::config::REDIS_KEY_PREFIX.as_str(),
uuid
);
// Delete PipelineProgress keys (all variants)
let progress_patterns = [
format!("{}progress:{}:pipeline", crate::core::config::REDIS_KEY_PREFIX.as_str(), uuid),
format!("{}progress:{}:agent", crate::core::config::REDIS_KEY_PREFIX.as_str(), uuid),
format!("{}progress:{}:tkg", crate::core::config::REDIS_KEY_PREFIX.as_str(), uuid),
];
if let Ok(mut conn) = redis.get_conn().await {
for key in &progress_patterns {
let _: Option<String> = redis::cmd("DEL")
.arg(&progress_key)
.arg(key)
.query_async(&mut conn)
.await
.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)