bugfix: Use correct cache key in closure

This commit is contained in:
Dagur Valberg Johannsson 2024-05-30 12:20:09 +02:00
parent 9b6ba5784a
commit 37f2e15333
No known key found for this signature in database
GPG key ID: FD701804AEE88107

View file

@ -43,6 +43,8 @@ pub fn list_by_volume(
let limit = limit.unwrap_or(1000);
let limit = std::cmp::min(limit, 1000);
let cache_key = function_name!().to_owned();
let db_copy = db.inner().clone();
let run_query = move || {
#[allow(clippy::type_complexity)]
@ -86,7 +88,7 @@ pub fn list_by_volume(
let (response_age, result) = if use_cache {
let lock = response_cache.lock().unwrap();
if let Some((time, value)) = lock.get(function_name!()) {
if let Some((time, value)) = lock.get(&cache_key) {
(Some(*time), value.clone())
} else {
(None, run_query()?)
@ -99,7 +101,7 @@ pub fn list_by_volume(
if let Some(t) = response_age {
// (potentially) update query for next request
if time_now() > t - 60 {
info!("update for cached value of {} triggered", function_name!());
info!("update for cached value of {} triggered", cache_key);
let cache_copy = response_cache.inner().clone();
std::thread::spawn(move || {
match run_query() {
@ -107,10 +109,11 @@ pub fn list_by_volume(
cache_copy
.lock()
.unwrap()
.insert(function_name!().to_owned(), (time_now(), r));
.insert(cache_key.clone(), (time_now(), r));
info!("Updated cached value for {}", cache_key)
}
Err(e) => {
warn!("Failed to update cache for {}: {:?}", function_name!(), e)
warn!("Failed to update cache for {}: {:?}", cache_key, e)
}
};
});
@ -120,7 +123,7 @@ pub fn list_by_volume(
response_cache
.lock()
.unwrap()
.insert(function_name!().to_owned(), (time_now(), result.clone()));
.insert(cache_key, (time_now(), result.clone()));
}
}