mirror of
https://gitee.com/milvus-io/milvus.git
synced 2025-12-30 23:45:28 +08:00
* [skip ci](shards): export MAX_WORKERS as configurable parameter Signed-off-by: peng.xu <peng.xu@zilliz.com> * [skip ci](shards): skip mishards .env git info Signed-off-by: peng.xu <peng.xu@zilliz.com> * [skip ci](shards): support more robust static discovery host configuration Signed-off-by: peng.xu <peng.xu@zilliz.com> * [skip ci](shards): update static provider that terminate server if connection to downstream server error during startup Signed-off-by: peng.xu <peng.xu@zilliz.com> * [skip ci](shards): add topology.py Signed-off-by: peng.xu <peng.xu@zilliz.com> * [skip ci](shards): add connection pool Signed-off-by: peng.xu <peng.xu@zilliz.com> * [skip ci](shards): add topology test Signed-off-by: peng.xu <peng.xu@zilliz.com> * [skip ci](shards): refactory using topo Signed-off-by: peng.xu <peng.xu@zilliz.com> * [skip ci](shards): refactory static discovery using topo Signed-off-by: peng.xu <peng.xu@zilliz.com> * [skip ci](shards): refactory kubernetes discovery using topo Signed-off-by: peng.xu <peng.xu@zilliz.com> * [skip ci](shards): add more test for connection pool Signed-off-by: peng.xu <peng.xu@zilliz.com> * [skip ci](shards): export 19541 and 19542 for all_in_one demo Signed-off-by: peng.xu <peng.xu@zilliz.com> * [skip ci](shards): check version on new connection Signed-off-by: peng.xu <peng.xu@zilliz.com> * [skip ci](shards): mock connections Signed-off-by: peng.xu <peng.xu@zilliz.com> * [skip ci](shards): update tests Signed-off-by: peng.xu <peng.xu@zilliz.com>
48 lines
2.0 KiB
Python
48 lines
2.0 KiB
Python
import logging
|
|
from mishards import settings
|
|
logger = logging.getLogger()
|
|
|
|
from mishards.db_base import DB
|
|
db = DB()
|
|
|
|
from mishards.server import Server
|
|
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, 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, ConnectionTopology
|
|
|
|
readonly_topo = ConnectionTopology()
|
|
writable_topo = ConnectionTopology()
|
|
|
|
from discovery.factory import DiscoveryFactory
|
|
discover = DiscoveryFactory(config.DISCOVERY_PLUGIN_PATH).create(config.DISCOVERY_CLASS_NAME,
|
|
readonly_topo=readonly_topo)
|
|
|
|
from mishards.grpc_utils import GrpcSpanDecorator
|
|
from tracer.factory import TracerFactory
|
|
tracer = TracerFactory(config.TRACER_PLUGIN_PATH).create(config.TRACER_CLASS_NAME,
|
|
plugin_config=settings.TracingConfig,
|
|
span_decorator=GrpcSpanDecorator())
|
|
|
|
from mishards.router.factory import RouterFactory
|
|
router = RouterFactory(config.ROUTER_PLUGIN_PATH).create(config.ROUTER_CLASS_NAME,
|
|
readonly_topo=readonly_topo,
|
|
writable_topo=writable_topo)
|
|
|
|
grpc_server.init_app(writable_topo=writable_topo,
|
|
readonly_topo=readonly_topo,
|
|
tracer=tracer,
|
|
router=router,
|
|
discover=discover,
|
|
max_workers=settings.MAX_WORKERS)
|
|
|
|
from mishards import exception_handlers
|
|
|
|
return grpc_server
|