You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by am...@apache.org on 2021/08/09 17:32:10 UTC

[superset] 01/01: feat: EXTRA_CACHING_STRATEGIES

This is an automated email from the ASF dual-hosted git repository.

amitmiran pushed a commit to branch feat/extra_strategies
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 40e9c76d403ccd7d83bf70491c8c69e60bd47173
Author: amitmiran137 <am...@nielsen.com>
AuthorDate: Mon Aug 9 20:28:49 2021 +0300

    feat: EXTRA_CACHING_STRATEGIES
---
 superset/config.py      | 4 ++++
 superset/tasks/cache.py | 4 +++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/superset/config.py b/superset/config.py
index 6453b0c..63f4ba1 100644
--- a/superset/config.py
+++ b/superset/config.py
@@ -47,6 +47,7 @@ from superset.utils.core import is_test, parse_boolean_string
 from superset.utils.encrypt import SQLAlchemyUtilsAdapter
 from superset.utils.log import DBEventLogger
 from superset.utils.logging_configurator import DefaultLoggingConfigurator
+from tasks.cache import Strategy
 
 logger = logging.getLogger(__name__)
 
@@ -704,6 +705,9 @@ class CeleryConfig:  # pylint: disable=too-few-public-methods
 
 CELERY_CONFIG = CeleryConfig  # pylint: disable=invalid-name
 
+# Additional Caching strategies to be used in the CELERYBEAT_SCHEDULE config
+EXTRA_CACHING_STRATEGIES: List[Strategy] = []
+
 # Set celery config to None to disable all the above configuration
 # CELERY_CONFIG = None
 
diff --git a/superset/tasks/cache.py b/superset/tasks/cache.py
index 546eaeb..25cd838 100644
--- a/superset/tasks/cache.py
+++ b/superset/tasks/cache.py
@@ -267,7 +267,9 @@ def cache_warmup(
     """
     logger.info("Loading strategy")
     class_ = None
-    for class_ in strategies:
+
+    extra_strategies: List[Strategy] = app.config["EXTRA_CACHING_STRATEGIES"]
+    for class_ in strategies + extra_strategies:
         if class_.name == strategy_name:  # type: ignore
             break
     else: