Revision b20f5e4a

b/snf-pithos-backend/pithos/backends/lib/hashfiler/__init__.py
35 35

  
36 36
__all__ = ["Store"]
37 37

  
38

  
39
from pithos.workers import glue
40
from archipelago.common import Segment, Xseg_ctx
41
from objpool import ObjectPool
42
from synnefo.settings import BACKEND_ARCHIPELAGO_CONF as cfile
43

  
44

  
45
glue.WorkerGlue.setupXsegPool(ObjectPool, Segment, Xseg_ctx, cfile,
46
                              pool_size=8)
47

  
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