diff options
author | Siddharth Ravikumar <sravik@bgsu.edu> | 2015-04-01 09:45:45 -0400 |
---|---|---|
committer | Siddharth Ravikumar <sravik@bgsu.edu> | 2015-04-01 09:45:45 -0400 |
commit | 277408c058283bf73fbe6355fc7db0f6dbcbc24b (patch) | |
tree | 8389d8fcf96f718639e384284cf43fd6d6da89cf /combox/silo.py | |
parent | d3976cc51ad53a369f698d1141cf966ca414a904 (diff) |
refactored the way locks work in combox.siloComboxSilo.
modified: combox/cbox.py
modified: combox/events.py
modified: combox/silo.py
modified: tests/events_test.py
modified: tests/silo_test.py
Diffstat (limited to 'combox/silo.py')
-rw-r--r-- | combox/silo.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/combox/silo.py b/combox/silo.py index 55345c9..f391d2e 100644 --- a/combox/silo.py +++ b/combox/silo.py @@ -30,14 +30,14 @@ class ComboxSilo(object): """ - def __init__(self, config): + def __init__(self, config, lock): """config: a dictinary which contains combox configuration. """ self.config = config - silo = path.join(config['silo_dir'], 'silo.db') - self.db = pickledb.load(silo, True) + self.silo_path = path.join(config['silo_dir'], 'silo.db') + self.db = pickledb.load(self.silo_path, True) ## things we need for housekeep the node directory. self.node_dicts = ['shard_created', 'shard_modified', 'shard_moved', @@ -48,7 +48,13 @@ class ComboxSilo(object): if not self.db.get(ndict): self.db.dcreate(ndict) - self.lock = Lock() + self.lock = lock + + + def reload(self): + """Re-loads the DB from disk.""" + with self.lock: + self.db = pickledb.load(self.silo_path, True) def update(self, filep): |