def cache(chart_id, admin_id, dataset_id): app.config["EXPLORE_FORM_DATA_CACHE_CONFIG"] = { "CACHE_TYPE": "SimpleCache" } cache_manager.init_app(app) entry: TemporaryExploreState = { "owner": admin_id, "dataset_id": dataset_id, "chart_id": chart_id, "form_data": form_data, } cache_manager.explore_form_data_cache.set(key, entry)
def test_no_data_cache(self): app.config["DATA_CACHE_CONFIG"] = {"CACHE_TYPE": "null"} cache_manager.init_app(app) slc = self.get_slice("Girls", db.session) json_endpoint = "/superset/explore_json/{}/{}/".format( slc.datasource_type, slc.datasource_id) resp = self.get_json_resp(json_endpoint, {"form_data": json.dumps(slc.viz.form_data)}) resp_from_cache = self.get_json_resp( json_endpoint, {"form_data": json.dumps(slc.viz.form_data)}) self.assertFalse(resp["is_cached"]) self.assertFalse(resp_from_cache["is_cached"])
def test_slice_data_cache(self): # Override cache config data_cache_config = app.config["DATA_CACHE_CONFIG"] cache_default_timeout = app.config["CACHE_DEFAULT_TIMEOUT"] app.config["CACHE_DEFAULT_TIMEOUT"] = 100 app.config["DATA_CACHE_CONFIG"] = { "CACHE_TYPE": "simple", "CACHE_DEFAULT_TIMEOUT": 10, "CACHE_KEY_PREFIX": "superset_data_cache", } cache_manager.init_app(app) slc = self.get_slice("Boys", db.session) json_endpoint = "/superset/explore_json/{}/{}/".format( slc.datasource_type, slc.datasource_id ) resp = self.get_json_resp( json_endpoint, {"form_data": json.dumps(slc.viz.form_data)} ) resp_from_cache = self.get_json_resp( json_endpoint, {"form_data": json.dumps(slc.viz.form_data)} ) self.assertFalse(resp["is_cached"]) self.assertTrue(resp_from_cache["is_cached"]) # should fallback to default cache timeout self.assertEqual(resp_from_cache["cache_timeout"], 10) self.assertEqual(resp_from_cache["status"], QueryStatus.SUCCESS) self.assertEqual(resp["data"], resp_from_cache["data"]) self.assertEqual(resp["query"], resp_from_cache["query"]) # should exists in `data_cache` self.assertEqual( cache_manager.data_cache.get(resp_from_cache["cache_key"])["query"], resp_from_cache["query"], ) # should not exists in `cache` self.assertIsNone(cache_manager.cache.get(resp_from_cache["cache_key"])) # reset cache config app.config["DATA_CACHE_CONFIG"] = data_cache_config app.config["CACHE_DEFAULT_TIMEOUT"] = cache_default_timeout cache_manager.init_app(app)
def configure_cache(self) -> None: cache_manager.init_app(self.superset_app) results_backend_manager.init_app(self.superset_app)
def configure_cache(self): cache_manager.init_app(self.flask_app) results_backend_manager.init_app(self.flask_app)
def cache(dashboard_id, admin_id): app.config["FILTER_STATE_CACHE_CONFIG"] = {"CACHE_TYPE": "SimpleCache"} cache_manager.init_app(app) entry: Entry = {"owner": admin_id, "value": value} cache_manager.filter_state_cache.set(cache_key(dashboard_id, key), entry)