fix: update redis cache when inserting collabs in batches
This commit is contained in:
parent
813179fdb0
commit
9971c23749
|
|
@ -256,6 +256,35 @@ impl CollabCache {
|
|||
&self,
|
||||
records: Vec<PendingCollabWrite>,
|
||||
) -> Result<(), AppError> {
|
||||
self.disk_cache.batch_insert_collab(records).await
|
||||
let mem_cache_params: Vec<_> = records
|
||||
.iter()
|
||||
.map(|r| {
|
||||
(
|
||||
r.params.object_id.clone(),
|
||||
r.params.encoded_collab_v1.clone(),
|
||||
cache_exp_secs_from_collab_type(&r.params.collab_type),
|
||||
)
|
||||
})
|
||||
.collect();
|
||||
|
||||
self.disk_cache.batch_insert_collab(records).await?;
|
||||
|
||||
let mem_cache = self.mem_cache.clone();
|
||||
tokio::spawn(async move {
|
||||
let now = chrono::Utc::now().timestamp();
|
||||
for (oid, data, expire) in mem_cache_params {
|
||||
if let Err(err) = mem_cache
|
||||
.insert_encode_collab_data(&oid, &data, now, Some(expire))
|
||||
.await
|
||||
{
|
||||
error!(
|
||||
"Failed to insert collab `{}` into memory cache: {}",
|
||||
oid, err
|
||||
);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue