3D 打板部署
All checks were successful
git commit AiDA python develop 分支构建部署 / scheduled_deploy (push) Has been skipped

This commit is contained in:
zcr
2026-04-28 17:03:04 +08:00
parent ad4db736de
commit c73bfa7e2a
8 changed files with 303 additions and 65 deletions

View File

@@ -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 = {