From 4ed05f4ff16805b1253a902172a53e973cf41f1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90=E1=BB=97=20Tr=E1=BB=8Dng=20H=E1=BA=A3i?= <41283691+hainenber@users.noreply.github.com> Date: Thu, 8 May 2025 04:45:15 +0700 Subject: [PATCH] fix(be/utils): sync cache timeout for memoized function (#31917) Signed-off-by: hainenber <dotronghai96@gmail.com> --- superset/utils/cache.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/superset/utils/cache.py b/superset/utils/cache.py index 87a74dd6e2..93072e6a53 100644 --- a/superset/utils/cache.py +++ b/superset/utils/cache.py @@ -109,7 +109,7 @@ def memoized_func(key: str, cache: Cache = cache_manager.cache) -> Callable[..., force means whether to force refresh the cache and is treated as False by default, except force = True is passed to the decorated function. - timeout of cache is set to 600 seconds by default, + timeout of cache is set to CACHE_DEFAULT_TIMEOUT seconds by default, except cache_timeout = {timeout in seconds} is passed to the decorated function. :param key: a callable function that takes function arguments and returns @@ -121,7 +121,9 @@ def memoized_func(key: str, cache: Cache = cache_manager.cache) -> Callable[..., def wrapped_f(*args: Any, **kwargs: Any) -> Any: should_cache = kwargs.pop("cache", True) force = kwargs.pop("force", False) - cache_timeout = kwargs.pop("cache_timeout", 0) + cache_timeout = kwargs.pop( + "cache_timeout", app.config["CACHE_DEFAULT_TIMEOUT"] + ) if not should_cache: return f(*args, **kwargs) -- GitLab