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:
+11
-9
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user