3D 打板部署
All checks were successful
git commit AiDA python develop 分支构建部署 / scheduled_deploy (push) Has been skipped
All checks were successful
git commit AiDA python develop 分支构建部署 / scheduled_deploy (push) Has been skipped
This commit is contained in:
@@ -87,6 +87,9 @@ class Settings(BaseSettings):
|
||||
A6000_SERVICE_HOST: str = Field(default='', description="")
|
||||
B_4_X_4090_SERVICE_HOST: str = Field(default='', description="")
|
||||
|
||||
# --- sketch to garment 模型url ---
|
||||
SKETCH_TO_GARMENT_URL: str = Field(default='', description="")
|
||||
|
||||
# --- 其他配置信息 以下均为Docker容器内配置---
|
||||
LOGS_PATH: str = Field(default="/logs/", description="")
|
||||
CATEGORY_PATH: str = Field(default="/app/service/attribute/config/descriptor/category/category_dis.csv", description="")
|
||||
@@ -97,71 +100,6 @@ class Settings(BaseSettings):
|
||||
|
||||
settings = Settings()
|
||||
|
||||
# ====================== Nacos 配置管理 ======================
|
||||
|
||||
client_config = (ClientConfigBuilder()
|
||||
.server_address(NACOS_SERVER_ADDRESSES)
|
||||
.username(NACOS_USERNAME)
|
||||
.password(NACOS_PASSWORD)
|
||||
.namespace_id(NACOS_NAMESPACE)
|
||||
.log_level('INFO')
|
||||
.grpc_config(GRPCConfig(grpc_timeout=50000))
|
||||
.build())
|
||||
|
||||
# ====================== Nacos 配置管理 ======================
|
||||
nacos_config_data: Dict[str, Any] = {}
|
||||
|
||||
|
||||
async def load_nacos_config() -> None:
|
||||
"""初始化 Nacos 配置并监听变化"""
|
||||
global nacos_config_data, settings
|
||||
global nacos_initialized_successfully
|
||||
|
||||
try:
|
||||
client = await NacosConfigService.create_config_service(client_config)
|
||||
# 1. 第一次获取配置
|
||||
content = await client.get_config(ConfigParam(data_id=NACOS_DATA_ID, group=NACOS_GROUP))
|
||||
if content:
|
||||
loaded = yaml.safe_load(content) or {}
|
||||
nacos_config_data = loaded
|
||||
# 用 Nacos 配置覆盖 settings
|
||||
for key, value in loaded.items():
|
||||
if hasattr(settings, key):
|
||||
setattr(settings, key, value)
|
||||
logger.info(f"✅ Nacos 配置加载成功: {NACOS_DATA_ID} | 覆盖字段数量: {len(loaded)}")
|
||||
else:
|
||||
logger.warning("Nacos 返回配置为空,使用 .env + 默认值")
|
||||
|
||||
# 2. 注册动态监听器(配置变更自动刷新)
|
||||
async def listener(tenant: str, data_id: str, group: str, content: str):
|
||||
global nacos_config_data, settings
|
||||
try:
|
||||
new_config = yaml.safe_load(content) if content else {}
|
||||
nacos_config_data = new_config
|
||||
# 实时覆盖 settings
|
||||
for key, value in new_config.items():
|
||||
if hasattr(settings, key):
|
||||
old_val = getattr(settings, key)
|
||||
setattr(settings, key, value)
|
||||
if old_val != value:
|
||||
logger.info(f"🔄 配置更新 → {key}: {old_val} → {value}")
|
||||
logger.info(f"【Nacos 动态更新】{NACOS_DATA_ID}")
|
||||
except Exception as e:
|
||||
logger.error(f"Nacos 配置解析失败: {e}")
|
||||
|
||||
await client.add_listener(NACOS_DATA_ID, NACOS_GROUP, listener)
|
||||
logger.info("✅ Nacos 配置监听器已注册(支持热更新)")
|
||||
nacos_initialized_successfully = True
|
||||
except Exception as e:
|
||||
logger.error(f"❌ Nacos 初始化失败: {e}")
|
||||
nacos_initialized_successfully = False
|
||||
|
||||
|
||||
# 提供给 FastAPI 的依赖
|
||||
def get_settings() -> Settings:
|
||||
return settings
|
||||
|
||||
|
||||
"""Design 服务"""
|
||||
# 推荐服装类别映射
|
||||
TABLE_CATEGORIES = {
|
||||
|
||||
Reference in New Issue
Block a user