Example #1
0
def make_app(stores_path='/tmp',
             cache_enabled=True,
             cache_type='memory',
             cache_size=10000,
             cache_host='localhost',
             cache_port=6379,
             cache_ttl=86400,
             gc_interval=86400):
    global app
    global cache

    # monkey patch bottle to increase BaseRequest.MEMFILE_MAX
    BaseRequest.MEMFILE_MAX = 1024000

    setup_logging()
    app.config['gitstores_path'] = stores_path
    app.config['gc_interval'] = gc_interval
    cache_backend = None
    if cache_type == 'memory':
        cache_backend = LocalCache(cache_size)
    elif cache_type == 'redis':
        try:
            import redis
            cache_backend = RedisCache(redis.Redis(cache_host, cache_port),
                                       cache_ttl)
        except ImportError:
            pass
    cache = QueryCache(backend=cache_backend, enabled=cache_enabled)
    if gc_interval > 0:
        t = threading.Thread(target=run_gc)
        t.setDaemon(True)
        t.start()
    return app
Example #2
0
 def __init__(self, endpoint, name, **kwargs):
     self.session = requests.Session()
     self.endpoint = endpoint
     if self.endpoint.endswith('/'):
         self.endpoint = self.endpoint.rstrip('/')
     self.name = name
     cache_enabled = kwargs.get('cache_enabled', True)
     cache_backend = kwargs.get('cache_backend')
     self.cache = QueryCache(backend=cache_backend, enabled=cache_enabled)