Files
@ 80dc0a23edf7
Branch filter:
Location: kallithea/rhodecode/model/meta.py - annotation
80dc0a23edf7
1.8 KiB
text/x-python
fixed whoosh failure on new repository
added few tests
added few tests
1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 342f8434ed14 342f8434ed14 342f8434ed14 342f8434ed14 342f8434ed14 342f8434ed14 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 | """SQLAlchemy Metadata and Session object"""
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import scoped_session, sessionmaker
from rhodecode.model import caching_query
from beaker import cache
import os
from os.path import join as jn, dirname as dn, abspath
import time
# Beaker CacheManager. A home base for cache configurations.
cache_manager = cache.CacheManager()
__all__ = ['Base', 'Session']
#
# SQLAlchemy session manager. Updated by model.init_model()
#
Session = scoped_session(
sessionmaker(
query_cls=caching_query.query_callable(cache_manager)
)
)
# The declarative Base
Base = declarative_base()
#For another db...
#Base2 = declarative_base()
#===============================================================================
# CACHE OPTIONS
#===============================================================================
cache_base = jn(dn(dn(dn(abspath(__file__)))), 'data')
cache_dir = jn(cache_base, 'cache')
if not os.path.isdir(cache_base):
os.mkdir(cache_base)
if not os.path.isdir(cache_dir):
os.mkdir(cache_dir)
# set start_time to current time
# to re-cache everything
# upon application startup
start_time = time.time()
# configure the "sqlalchemy" cache region.
cache_manager.regions['sql_cache_short'] = {
'type':'memory',
'data_dir':cache_dir,
'expire':10,
'start_time':start_time
}
cache_manager.regions['sql_cache_med'] = {
'type':'memory',
'data_dir':cache_dir,
'expire':360,
'start_time':start_time
}
cache_manager.regions['sql_cache_long'] = {
'type':'file',
'data_dir':cache_dir,
'expire':3600,
'start_time':start_time
}
#to use cache use this in query
#.options(FromCache("sqlalchemy_cache_type", "cachekey"))
|