コード例 #1
0
ファイル: das_filecache.py プロジェクト: perrozzi/DAS
    def __init__(self, config):
        Cache.__init__(self, config)
        self.dir = config['filecache_dir']
        self.limit = config['filecache_lifetime']
        self.base_dir = getarg(config, 'filecache_base_dir', '00')
        self.files_dir = getarg(config, 'filecache_files_dir', 100)
        self.logger = config['logger']
        self.verbose = config['verbose']
        self.logger.info("Init filecache %s" % self.dir)
        self.systemdict = {}
        for system in config['systems']:
            self.systemdict[system] = config[system]['url']

        try:
            os.makedirs(self.dir)
        except:
            pass

        if self.verbose:
            verbose = True
        else:
            verbose = False
        dbengine = config['filecache_db_engine']
        dbfile = None
        if dbengine.find('sqlite:///') != -1:
            dbfile = dbengine.replace('sqlite:///', '')
        self.engine = create_engine(dbengine, echo=False)
        self.session = sessionmaker(bind=self.engine)
        if not dbfile:
            self.create_table()
        else:  # sqlite case
            if not os.path.isfile(dbfile):
                self.create_table()
コード例 #2
0
ファイル: das_filecache.py プロジェクト: zdenekmaxa/DAS
    def __init__(self, config):
        Cache.__init__(self, config)
        self.dir = config["filecache_dir"]
        self.limit = config["filecache_lifetime"]
        self.base_dir = getarg(config, "filecache_base_dir", "00")
        self.files_dir = getarg(config, "filecache_files_dir", 100)
        self.logger = config["logger"]
        self.verbose = config["verbose"]
        self.logger.info("Init filecache %s" % self.dir)
        self.systemdict = {}
        for system in config["systems"]:
            self.systemdict[system] = config[system]["url"]

        try:
            os.makedirs(self.dir)
        except:
            pass

        if self.verbose:
            verbose = True
        else:
            verbose = False
        dbengine = config["filecache_db_engine"]
        dbfile = None
        if dbengine.find("sqlite:///") != -1:
            dbfile = dbengine.replace("sqlite:///", "")
        self.engine = create_engine(dbengine, echo=False)
        self.session = sessionmaker(bind=self.engine)
        if not dbfile:
            self.create_table()
        else:  # sqlite case
            if not os.path.isfile(dbfile):
                self.create_table()
コード例 #3
0
ファイル: das_filecache.py プロジェクト: dmwm/DAS
    def __init__(self, config):
        Cache.__init__(self, config)
        self.dir        = config['filecache_dir']
        self.limit      = config['filecache_lifetime']
        self.base_dir   = getarg(config, 'filecache_base_dir', '00')
        self.files_dir  = getarg(config, 'filecache_files_dir', 100)
        self.logger     = config['logger']
        self.verbose    = config['verbose']
        self.logger.info("Init filecache %s" % self.dir)
        self.systemdict = {}
        for system in config['systems']:
            self.systemdict[system] = config[system]['url']

        try:
            os.makedirs(self.dir)
        except:
            pass

        if  self.verbose:
            verbose  = True
        else:
            verbose  = False
        dbengine     = config['filecache_db_engine'] 
        dbfile       = None
        if  dbengine.find('sqlite:///') != -1:
            dbfile   = dbengine.replace('sqlite:///', '')
        self.engine  = create_engine(dbengine, echo=False)
        self.session = sessionmaker(bind=self.engine)
        if  not dbfile:
            self.create_table()
        else: # sqlite case
            if  not os.path.isfile(dbfile):
                self.create_table()
コード例 #4
0
ファイル: das_memcache.py プロジェクト: perrozzi/DAS
    def __init__(self, config):
        Cache.__init__(self, config)
        cachelist = config['cache_servers'].split(',')
        self.verbose = config['verbose']
        self.memcache = memcache.Client(cachelist, debug=self.verbose)
        self.limit = config['cache_lifetime']
        self.chunk_size = config['cache_chunk_size']
        self.logger = config['logger']
        self.servers = cachelist

        # default hashing is crc32, but we can change that by using
        #from zlib import adler32
        #memcache.serverHashFunction = adler32

        self.logger.info("Init memcache %s" % cachelist)
コード例 #5
0
ファイル: das_memcache.py プロジェクト: zdenekmaxa/DAS
    def __init__(self, config):
        Cache.__init__(self, config)
        cachelist = config["cache_servers"].split(",")
        self.verbose = config["verbose"]
        self.memcache = memcache.Client(cachelist, debug=self.verbose)
        self.limit = config["cache_lifetime"]
        self.chunk_size = config["cache_chunk_size"]
        self.logger = config["logger"]
        self.servers = cachelist

        # default hashing is crc32, but we can change that by using
        # from zlib import adler32
        # memcache.serverHashFunction = adler32

        self.logger.info("Init memcache %s" % cachelist)
コード例 #6
0
ファイル: das_couchcache.py プロジェクト: dmwm/DAS
    def __init__(self, config):
        Cache.__init__(self, config)
        uri = config['couch_servers'] # in a future I may have several
        self.logger = config['logger']
        if  not self.logger:
            self.logger = DummyLogger()
        self.limit  = config['couch_lifetime']
        self.uri    = uri.replace('http://', '')
        self.server = CouchServer(self.uri)
        self.dbname = "das"
        self.cdb    = None # cached couch DB handler
        self.future = 9999999999 # unreachable timestamp
        self.logger.info('Init couchcache %s' % self.uri)

        self.views = { 
            'query': {'map': """
function(doc) {
    if(doc.hash) {
        emit([doc.hash, doc.expire], doc.results);
    }
}"""
            },
#            'incache': {'map': """
#function(doc) {
#    if(doc.hash) {
#        emit([doc.hash, doc.expire], null);
#    }
#}"""
#            },
        }

        self.adminviews = { 

            'system' : {'map': """
function(doc) {
    if(doc.results.system) {
        emit(doc.results.system, doc);
    }
}"""
            },

            'cleaner' : {'map': """
function(doc) {
    if(doc.expire) {
        emit(doc.expire, doc);
    }
}"""
            },

            'timer' : {'map': """
function(doc) {
    if(doc.timestamp) {
        emit(doc.timestamp, doc);
    }
}"""
            },
            'all_queries' : {'map': """
function(doc) {
    if (doc.query) {
        emit(doc.query, null);
    }
}""",
                        'reduce' : """
function(keys, values) {
   return null;
}"""
            },

        }
コード例 #7
0
    def __init__(self, config):
        Cache.__init__(self, config)
        uri = config['couch_servers']  # in a future I may have several
        self.logger = config['logger']
        if not self.logger:
            self.logger = DummyLogger()
        self.limit = config['couch_lifetime']
        self.uri = uri.replace('http://', '')
        self.server = CouchServer(self.uri)
        self.dbname = "das"
        self.cdb = None  # cached couch DB handler
        self.future = 9999999999  # unreachable timestamp
        self.logger.info('Init couchcache %s' % self.uri)

        self.views = {
            'query': {
                'map':
                """
function(doc) {
    if(doc.hash) {
        emit([doc.hash, doc.expire], doc.results);
    }
}"""
            },
            #            'incache': {'map': """
            #function(doc) {
            #    if(doc.hash) {
            #        emit([doc.hash, doc.expire], null);
            #    }
            #}"""
            #            },
        }

        self.adminviews = {
            'system': {
                'map':
                """
function(doc) {
    if(doc.results.system) {
        emit(doc.results.system, doc);
    }
}"""
            },
            'cleaner': {
                'map':
                """
function(doc) {
    if(doc.expire) {
        emit(doc.expire, doc);
    }
}"""
            },
            'timer': {
                'map':
                """
function(doc) {
    if(doc.timestamp) {
        emit(doc.timestamp, doc);
    }
}"""
            },
            'all_queries': {
                'map': """
function(doc) {
    if (doc.query) {
        emit(doc.query, null);
    }
}""",
                'reduce': """
function(keys, values) {
   return null;
}"""
            },
        }