1
# Copyright 2012-2014 Canonical Ltd. This software is licensed under the
2
# GNU Affero General Public License version 3 (see the file LICENSE).
4
"""API credentials for node-group workers."""
6
from __future__ import (
21
from multiprocessing import Manager
25
"""A process-safe dict-like cache."""
27
def __init__(self, cache_backend):
28
self.cache_backend = cache_backend
30
def set(self, key, value):
31
self.cache_backend[key] = value
34
return self.cache_backend.get(key, None)
37
self.cache_backend.clear()
48
"""Initialize cache of shared data between processes.
50
This needs to be done exactly once, by the parent process, before it
51
start forking off workers.
58
cache = Cache(_manager.dict())