feat: clear outdate attention data
This commit is contained in:
@@ -75,7 +75,25 @@ impl Attention {
|
||||
self.rconn.smembers(&self.key).await
|
||||
}
|
||||
|
||||
// TODO: clear all
|
||||
pub async fn clear_all(rconn: &RdsConn) {
|
||||
let mut rconn = rconn.clone();
|
||||
let mut keys = rconn
|
||||
.scan_match::<&str, String>("hole_v2:attention:*")
|
||||
.await
|
||||
.unwrap();
|
||||
|
||||
let mut ks_for_del = Vec::new();
|
||||
while let Some(key) = keys.next_item().await {
|
||||
ks_for_del.push(key);
|
||||
}
|
||||
if ks_for_del.is_empty() {
|
||||
return;
|
||||
}
|
||||
rconn
|
||||
.del(ks_for_del)
|
||||
.await
|
||||
.unwrap_or_else(|e| warn!("clear all post cache fail, {}", e));
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize, Debug)]
|
||||
@@ -267,6 +285,7 @@ pub async fn clear_outdate_redis_data(rconn: &RdsConn) {
|
||||
BannedUsers::clear(&rconn).await.unwrap();
|
||||
CustomTitle::clear(&rconn).await.unwrap();
|
||||
AutoBlockRank::clear(&rconn).await.unwrap();
|
||||
Attention::clear_all(&rconn).await;
|
||||
}
|
||||
|
||||
pub(crate) use init;
|
||||
|
||||
Reference in New Issue
Block a user