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