From 37be01bc1261599dd381181e3dc9eeb4506c31c3 Mon Sep 17 00:00:00 2001 From: Maxime Beauchemin Date: Mon, 25 Apr 2016 12:41:30 -0700 Subject: [PATCH] [hotfix] adding cache_key in payload --- caravel/config.py | 4 ++++ caravel/viz.py | 9 ++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/caravel/config.py b/caravel/config.py index 18c9d5c69f..134127f37d 100644 --- a/caravel/config.py +++ b/caravel/config.py @@ -134,3 +134,7 @@ try: from caravel_config import * # noqa except Exception: pass + +if not CACHE_DEFAULT_TIMEOUT: + CACHE_DEFAULT_TIMEOUT = CACHE_CONFIG.get('CACHE_DEFAULT_TIMEOUT') + diff --git a/caravel/viz.py b/caravel/viz.py index 36db12a7ee..5c0c6df174 100644 --- a/caravel/viz.py +++ b/caravel/viz.py @@ -224,12 +224,14 @@ class BaseViz(object): @property def cache_timeout(self): + if self.slice and self.slice.cache_timeout: return self.slice.cache_timeout if self.datasource.cache_timeout: return self.datasource.cache_timeout - if hasattr(self.datasource, 'database') \ - and self.datasource.database.cache_timeout: + if ( + hasattr(self.datasource, 'database') and + self.datasource.database.cache_timeout): return self.datasource.database.cache_timeout return config.get("CACHE_DEFAULT_TIMEOUT") @@ -247,6 +249,7 @@ class BaseViz(object): cache_timeout = self.cache_timeout payload = { 'cache_timeout': cache_timeout, + 'cache_key': cache_key, 'csv_endpoint': self.csv_endpoint, 'data': self.get_data(), 'form_data': self.form_data, @@ -257,7 +260,7 @@ class BaseViz(object): payload['cached_dttm'] = datetime.now().isoformat().split('.')[0] logging.info("Caching for the next {} seconds".format( cache_timeout)) - cache.set(cache_key, payload, timeout=self.cache_timeout) + cache.set(cache_key, payload, timeout=cache_timeout) payload['is_cached'] = is_cached return self.json_dumps(payload)