Skip to content

Commit df1681e

Browse files
committed
Use a single settings collction for all application type
Allows us to use the same settings table for cache etc.
1 parent 5a5dff5 commit df1681e

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

arctic/_cache.py

+7-5
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,12 @@
77

88
CACHE_COLL = 'cache'
99
CACHE_DB = 'meta_db'
10-
CACHE_SETTINGS = 'cache_settings'
10+
CACHE_SETTINGS = 'settings'
11+
CACHE_SETTINGS_KEY = 'cache'
1112
"""
1213
Sample cache_settings collection entry:
13-
meta_db.cache_settings.insertOne({"enabled": true, "cache_expiry": 600})
14-
meta_db.cache_settings.find(): { "_id" : ObjectId("5cd5388b9fddfbe6e968f11b"), "enabled" : false, "cache_expiry" : 600 }
14+
meta_db.cache_settings.insertOne({"type": "cache", "enabled": true, "cache_expiry": 600})
15+
meta_db.cache_settings.find(): { "_id" : ObjectId("5cd5388b9fddfbe6e968f11b"), "type": "cache", "enabled" : false, "cache_expiry" : 600 }
1516
"""
1617
DEFAULT_CACHE_EXPIRY = 3600
1718

@@ -31,7 +32,7 @@ def __init__(self, client, cache_expiry=DEFAULT_CACHE_EXPIRY, cache_db=CACHE_DB,
3132

3233
def _get_cache_settings(self):
3334
try:
34-
return self._cachedb[CACHE_SETTINGS].find_one()
35+
return self._cachedb[CACHE_SETTINGS].find_one({'type': CACHE_SETTINGS_KEY})
3536
except OperationFailure as op:
3637
logging.debug("Cannot access %s in db: %s. Error: %s" % (CACHE_SETTINGS, CACHE_DB, op))
3738
return None
@@ -48,11 +49,12 @@ def set_caching_state(self, enabled):
4849
if CACHE_SETTINGS not in self._cachedb.list_collection_names():
4950
logging.info("Creating %s collection for cache settings" % CACHE_SETTINGS)
5051
self._cachedb[CACHE_SETTINGS].insert_one({
52+
'type': CACHE_SETTINGS_KEY,
5153
'enabled': enabled,
5254
'cache_expiry': DEFAULT_CACHE_EXPIRY
5355
})
5456
else:
55-
self._cachedb[CACHE_SETTINGS].update_one({}, {'$set': {'enabled': enabled}})
57+
self._cachedb[CACHE_SETTINGS].update_one({'type': CACHE_SETTINGS_KEY}, {'$set': {'enabled': enabled}})
5658
logging.info("Caching set to: %s" % enabled)
5759

5860
def _is_not_expired(self, cached_data, newer_than_secs):

0 commit comments

Comments
 (0)