mirror of https://github.com/milvus-io/milvus.git
update add configurable DB settings
parent
fa4f0a0703
commit
b36905055b
|
@ -11,7 +11,9 @@ grpc_server = Server()
|
|||
|
||||
def create_app(testing_config=None):
|
||||
config = testing_config if testing_config else settings.DefaultConfig
|
||||
db.init_db(uri=config.SQLALCHEMY_DATABASE_URI, echo=config.SQL_ECHO)
|
||||
db.init_db(uri=config.SQLALCHEMY_DATABASE_URI, echo=config.SQL_ECHO, pool_size=config.SQL_POOL_SIZE,
|
||||
pool_recycle=config.SQL_POOL_RECYCLE, pool_timeout=config.SQL_POOL_TIMEOUT,
|
||||
pool_pre_ping=config.SQL_POOL_PRE_PING, max_overflow=config.SQL_MAX_OVERFLOW)
|
||||
|
||||
from mishards.connections import ConnectionMgr
|
||||
connect_mgr = ConnectionMgr()
|
||||
|
|
|
@ -23,15 +23,12 @@ class DB:
|
|||
uri and self.init_db(uri, echo)
|
||||
self.session_factory = scoped_session(sessionmaker(class_=LocalSession, db=self))
|
||||
|
||||
def init_db(self, uri, echo=False):
|
||||
def init_db(self, uri, echo=False, pool_size=100, pool_recycle=5, pool_timeout=30, pool_pre_ping=True, max_overflow=0):
|
||||
url = make_url(uri)
|
||||
if url.get_backend_name() == 'sqlite':
|
||||
self.engine = create_engine(url)
|
||||
else:
|
||||
self.engine = create_engine(uri, pool_size=100, pool_recycle=5, pool_timeout=30,
|
||||
pool_pre_ping=True,
|
||||
echo=echo,
|
||||
max_overflow=0)
|
||||
self.engine = create_engine(uri, pool_size, pool_recycle, pool_timeout, pool_pre_ping, echo, max_overflow)
|
||||
self.uri = uri
|
||||
self.url = url
|
||||
|
||||
|
|
|
@ -50,10 +50,16 @@ class TracingConfig:
|
|||
}
|
||||
}
|
||||
|
||||
max_overflow=0
|
||||
|
||||
class DefaultConfig:
|
||||
SQLALCHEMY_DATABASE_URI = env.str('SQLALCHEMY_DATABASE_URI')
|
||||
SQL_ECHO = env.bool('SQL_ECHO', False)
|
||||
SQL_POOL_SIZE = env.int('pool_size', 100)
|
||||
SQL_POOL_RECYCLE = env.int('pool_recycle', 5)
|
||||
SQL_POOL_TIMEOUT = env.int('pool_timeout', 30)
|
||||
SQL_POOL_PRE_PING = env.bool('pool_pre_ping', True)
|
||||
SQL_MAX_OVERFLOW = env.int('max_overflow', 0)
|
||||
TRACER_PLUGIN_PATH = env.str('TRACER_PLUGIN_PATH', '')
|
||||
TRACER_CLASS_NAME = env.str('TRACER_CLASS_NAME', '')
|
||||
ROUTER_PLUGIN_PATH = env.str('ROUTER_PLUGIN_PATH', '')
|
||||
|
@ -65,5 +71,10 @@ class DefaultConfig:
|
|||
class TestingConfig(DefaultConfig):
|
||||
SQLALCHEMY_DATABASE_URI = env.str('SQLALCHEMY_DATABASE_TEST_URI', '')
|
||||
SQL_ECHO = env.bool('SQL_TEST_ECHO', False)
|
||||
SQL_POOL_SIZE = env.int('pool_size', 100)
|
||||
SQL_POOL_RECYCLE = env.int('pool_recycle', 5)
|
||||
SQL_POOL_TIMEOUT = env.int('pool_timeout', 30)
|
||||
SQL_POOL_PRE_PING = env.bool('pool_pre_ping', True)
|
||||
SQL_MAX_OVERFLOW = env.int('max_overflow', 0)
|
||||
TRACER_CLASS_NAME = env.str('TRACER_CLASS_TEST_NAME', '')
|
||||
ROUTER_CLASS_NAME = env.str('ROUTER_CLASS_TEST_NAME', 'FileBasedHashRingRouter')
|
||||
|
|
Loading…
Reference in New Issue