Revision 23eceabf snf-pithos-backend/pithos/backends/modular.py
b/snf-pithos-backend/pithos/backends/modular.py | ||
---|---|---|
40 | 40 |
from functools import wraps, partial |
41 | 41 |
from traceback import format_exc |
42 | 42 |
|
43 |
from pithos.workers import glue |
|
44 |
from archipelago.common import Segment, Xseg_ctx |
|
45 |
from objpool import ObjectPool |
|
46 |
|
|
47 |
|
|
43 | 48 |
try: |
44 | 49 |
from astakosclient import AstakosClient |
45 | 50 |
except ImportError: |
... | ... | |
109 | 114 |
'abcdefghijklmnopqrstuvwxyz' |
110 | 115 |
'ABCDEFGHIJKLMNOPQRSTUVWXYZ') |
111 | 116 |
DEFAULT_PUBLIC_URL_SECURITY = 16 |
117 |
DEFAULT_ARCHIPELAGO_CONF_FILE = '/etc/archipelago/archipelago.conf' |
|
112 | 118 |
|
113 | 119 |
QUEUE_MESSAGE_KEY_PREFIX = 'pithos.%s' |
114 | 120 |
QUEUE_CLIENT_ID = 'pithos' |
... | ... | |
193 | 199 |
public_url_alphabet=None, |
194 | 200 |
account_quota_policy=None, |
195 | 201 |
container_quota_policy=None, |
196 |
container_versioning_policy=None): |
|
202 |
container_versioning_policy=None, |
|
203 |
archipelago_conf_file=None, |
|
204 |
xseg_pool_size=8): |
|
197 | 205 |
db_module = db_module or DEFAULT_DB_MODULE |
198 | 206 |
db_connection = db_connection or DEFAULT_DB_CONNECTION |
199 | 207 |
block_module = block_module or DEFAULT_BLOCK_MODULE |
... | ... | |
208 | 216 |
or DEFAULT_CONTAINER_QUOTA |
209 | 217 |
container_versioning_policy = container_versioning_policy \ |
210 | 218 |
or DEFAULT_CONTAINER_VERSIONING |
219 |
archipelago_conf_file = archipelago_conf_file \ |
|
220 |
or DEFAULT_ARCHIPELAGO_CONF_FILE |
|
211 | 221 |
|
212 | 222 |
self.default_account_policy = {'quota': account_quota_policy} |
213 | 223 |
self.default_container_policy = { |
... | ... | |
246 | 256 |
|
247 | 257 |
self.ALLOWED = ['read', 'write'] |
248 | 258 |
|
259 |
glue.WorkerGlue.setupXsegPool(ObjectPool, Segment, Xseg_ctx, |
|
260 |
cfile=archipelago_conf_file, |
|
261 |
pool_size=xseg_pool_size) |
|
249 | 262 |
self.block_module = load_module(block_module) |
250 | 263 |
self.block_params = block_params |
251 | 264 |
params = {'path': block_path, |
Also available in: Unified diff