init
This commit is contained in:
+28
-20
@@ -673,28 +673,36 @@ async def process_file_core(
|
||||
product_weight=product_weight_g
|
||||
)
|
||||
|
||||
# 9.7 FreeCAD 几何验证
|
||||
await storage_service.update_task_status(
|
||||
db_session, task_id, "processing", 90, "FreeCAD几何验证"
|
||||
)
|
||||
|
||||
# 9.7 FreeCAD 几何验证(可通过配置禁用)
|
||||
verification_result = None
|
||||
try:
|
||||
from services.verification_service import verification_service
|
||||
verification_result = await verification_service.verify_stp_file(file_path)
|
||||
from config.settings import settings
|
||||
|
||||
if settings.ENABLE_FREECAD_VERIFICATION:
|
||||
await storage_service.update_task_status(
|
||||
db_session, task_id, "processing", 90, "FreeCAD几何验证"
|
||||
)
|
||||
|
||||
# 保存验证结果到数据库
|
||||
if verification_result and analysis_result:
|
||||
await _save_verification_metrics(
|
||||
db_session,
|
||||
stp_file_id,
|
||||
verification_result
|
||||
)
|
||||
|
||||
logger.info(f"FreeCAD验证完成: {verification_result.get('status', 'unknown') if verification_result else 'failed'}")
|
||||
except Exception as ve:
|
||||
logger.warning(f"FreeCAD验证失败(不影响主流程): {ve}")
|
||||
verification_result = {"status": "error", "error": str(ve)}
|
||||
try:
|
||||
from services.verification_service import GeometryVerificationService
|
||||
# 使用配置的超时时间
|
||||
verification_svc = GeometryVerificationService(timeout=settings.FREECAD_VERIFICATION_TIMEOUT)
|
||||
verification_result = await verification_svc.verify_stp_file(file_path)
|
||||
|
||||
# 保存验证结果到数据库
|
||||
if verification_result and analysis_result:
|
||||
await _save_verification_metrics(
|
||||
db_session,
|
||||
stp_file_id,
|
||||
verification_result
|
||||
)
|
||||
|
||||
logger.info(f"FreeCAD验证完成: {verification_result.get('status', 'unknown') if verification_result else 'failed'}")
|
||||
except Exception as ve:
|
||||
logger.warning(f"FreeCAD验证失败(不影响主流程): {ve}")
|
||||
verification_result = {"status": "error", "error": str(ve)}
|
||||
else:
|
||||
logger.info("FreeCAD验证已禁用(设置 ENABLE_FREECAD_VERIFICATION=true 启用)")
|
||||
verification_result = {"status": "disabled", "reason": "FreeCAD验证已禁用"}
|
||||
|
||||
# 10. 完成处理
|
||||
await storage_service.update_stp_file_status(db_session, stp_file_id, "completed")
|
||||
|
||||
Reference in New Issue
Block a user