diff --git a/src/rpc/tokens.rs b/src/rpc/tokens.rs index 0687903..5778dcb 100644 --- a/src/rpc/tokens.rs +++ b/src/rpc/tokens.rs @@ -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())); } }