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 = limit.unwrap_or(1000);
let limit = std::cmp::min(limit, 1000); let limit = std::cmp::min(limit, 1000);
let cache_key = function_name!().to_owned();
let db_copy = db.inner().clone(); let db_copy = db.inner().clone();
let run_query = move || { let run_query = move || {
#[allow(clippy::type_complexity)] #[allow(clippy::type_complexity)]
@ -86,7 +88,7 @@ pub fn list_by_volume(
let (response_age, result) = if use_cache { let (response_age, result) = if use_cache {
let lock = response_cache.lock().unwrap(); 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()) (Some(*time), value.clone())
} else { } else {
(None, run_query()?) (None, run_query()?)
@ -99,7 +101,7 @@ pub fn list_by_volume(
if let Some(t) = response_age { if let Some(t) = response_age {
// (potentially) update query for next request // (potentially) update query for next request
if time_now() > t - 60 { 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(); let cache_copy = response_cache.inner().clone();
std::thread::spawn(move || { std::thread::spawn(move || {
match run_query() { match run_query() {
@ -107,10 +109,11 @@ pub fn list_by_volume(
cache_copy cache_copy
.lock() .lock()
.unwrap() .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) => { 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 response_cache
.lock() .lock()
.unwrap() .unwrap()
.insert(function_name!().to_owned(), (time_now(), result.clone())); .insert(cache_key, (time_now(), result.clone()));
} }
} }