about summary refs log tree commit diff
path: root/wqflask/base
diff options
context:
space:
mode:
authorZachary Sloan2013-06-26 21:48:44 +0000
committerZachary Sloan2013-06-26 21:48:44 +0000
commit9718fc35ac90640f9ff1324af077c99fe43c4900 (patch)
tree6495fd4265033337c33ef6f7956f8741f106fd0e /wqflask/base
parent6fbbfe5e8bcc3b57c4177687bbf67bf041da3cba (diff)
downloadgenenetwork2-9718fc35ac90640f9ff1324af077c99fe43c4900.tar.gz
Moved code creating DataSets object to a function in dataset.py
Added caching to creating DataSets object
Diffstat (limited to 'wqflask/base')
-rwxr-xr-xwqflask/base/data_set.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/wqflask/base/data_set.py b/wqflask/base/data_set.py
index e4bdb5c3..803cbc4f 100755
--- a/wqflask/base/data_set.py
+++ b/wqflask/base/data_set.py
@@ -27,8 +27,12 @@ import string
 import collections
 
 import json
+import cPickle as pickle
 import itertools
 
+from redis import Redis
+Redis = Redis()
+
 from flask import Flask, g
 
 import reaper
@@ -70,6 +74,19 @@ def create_dataset(dataset_name, dataset_type = None):
     dataset_class = globals()[dataset_ob]
     return dataset_class(dataset_name)
 
+def create_datasets_list():
+    key = "all_datasets"
+    result = Redis.get(key)
+    if result:
+        print("Cache hit!!!")
+        result = pickle.loads(result)
+    else:
+        with Bench("Creating DataSets object"):
+            ds = DataSets()
+        Redis.set(key, pickle.dumps(result))
+        Redis.expire(key, 2*60)
+
+
 def create_in_clause(items):
     """Create an in clause for mysql"""
     in_clause = ', '.join("'{}'".format(x) for x in mescape(*items))