Revision b20f5e4a snf-pithos-backend/pithos/backends/modular.py
b/snf-pithos-backend/pithos/backends/modular.py | ||
---|---|---|
41 | 41 |
from functools import wraps, partial |
42 | 42 |
from traceback import format_exc |
43 | 43 |
|
44 |
from pithos.workers import glue |
|
45 |
from archipelago.common import Segment, Xseg_ctx |
|
46 |
from objpool import ObjectPool |
|
47 |
|
|
48 |
|
|
44 | 49 |
try: |
45 | 50 |
from astakosclient import AstakosClient |
46 | 51 |
except ImportError: |
... | ... | |
110 | 115 |
'abcdefghijklmnopqrstuvwxyz' |
111 | 116 |
'ABCDEFGHIJKLMNOPQRSTUVWXYZ') |
112 | 117 |
DEFAULT_PUBLIC_URL_SECURITY = 16 |
118 |
DEFAULT_ARCHIPELAGO_CONF_FILE = '/etc/archipelago/archipelago.conf' |
|
113 | 119 |
|
114 | 120 |
QUEUE_MESSAGE_KEY_PREFIX = 'pithos.%s' |
115 | 121 |
QUEUE_CLIENT_ID = 'pithos' |
... | ... | |
230 | 236 |
public_url_alphabet=None, |
231 | 237 |
account_quota_policy=None, |
232 | 238 |
container_quota_policy=None, |
233 |
container_versioning_policy=None): |
|
239 |
container_versioning_policy=None, |
|
240 |
archipelago_conf_file=None, |
|
241 |
xseg_pool_size=8): |
|
234 | 242 |
db_module = db_module or DEFAULT_DB_MODULE |
235 | 243 |
db_connection = db_connection or DEFAULT_DB_CONNECTION |
236 | 244 |
block_module = block_module or DEFAULT_BLOCK_MODULE |
... | ... | |
245 | 253 |
or DEFAULT_CONTAINER_QUOTA |
246 | 254 |
container_versioning_policy = container_versioning_policy \ |
247 | 255 |
or DEFAULT_CONTAINER_VERSIONING |
256 |
archipelago_conf_file = archipelago_conf_file \ |
|
257 |
or DEFAULT_ARCHIPELAGO_CONF_FILE |
|
248 | 258 |
|
249 | 259 |
self.default_account_policy = {'quota': account_quota_policy} |
250 | 260 |
self.default_container_policy = { |
... | ... | |
283 | 293 |
|
284 | 294 |
self.ALLOWED = ['read', 'write'] |
285 | 295 |
|
296 |
glue.WorkerGlue.setupXsegPool(ObjectPool, Segment, Xseg_ctx, |
|
297 |
cfile=archipelago_conf_file, |
|
298 |
pool_size=xseg_pool_size) |
|
286 | 299 |
self.block_module = load_module(block_module) |
287 | 300 |
self.block_params = block_params |
288 | 301 |
params = {'path': block_path, |
Also available in: Unified diff