From b3ff01f6463bfa5ed16753369abc3ad623df9e73 Mon Sep 17 00:00:00 2001 From: TangCheng <tangchengmail@163.com> Date: 星期五, 25 四月 2025 16:37:20 +0800 Subject: [PATCH] 有错的agent自动跳过 --- JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/core/SMTAIServerEncache.java | 27 ++++++++++++++++++++------- 1 files changed, 20 insertions(+), 7 deletions(-) diff --git a/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/core/SMTAIServerEncache.java b/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/core/SMTAIServerEncache.java index a0a0f22..e1024fd 100644 --- a/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/core/SMTAIServerEncache.java +++ b/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/core/SMTAIServerEncache.java @@ -4,6 +4,8 @@ import java.util.LinkedHashMap; import java.util.Map; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.locationtech.proj4j.CRSFactory; import org.locationtech.proj4j.CoordinateReferenceSystem; import org.locationtech.proj4j.CoordinateTransform; @@ -29,6 +31,7 @@ import com.smtaiserver.smtaiserver.javaai.metrics.base.SMTMetricsDef; import com.smtaiserver.smtaiserver.javaai.querydetail.SMTAIQueryDetail; import com.smtaiserver.smtaiserver.javaai.qwen.SMTQwenAgentManager; +import com.smtaiserver.smtaiserver.javaai.qwen.SMTQwenApp; import com.smtaiserver.smtaiserver.javaai.qwen.agent.SMTQwenAgent; import com.smtaiserver.smtaiserver.javaai.qwen.agent.SMTQwenAgentKnowlgFile; import com.smtservlet.util.Json; @@ -38,6 +41,8 @@ { @Value("${hswater.tables.global_config}") protected String _tableGlobalConfig; + + private static Logger _logger = LogManager.getLogger(SMTQwenApp.class); public static String makeQueryStringAllRegExp(String str) { @@ -295,21 +300,29 @@ try { - // 璇诲彇鎵�鏈塧mis鐨刟gent - db.querySQLNotify( + String sql = " SELECT agent_id,agent_type,agent_xml,clz_name,clz_arguments, group_type, agent_title, agent_group, agent_order,inner_call" + " FROM ai_agent_amis A" + " LEFT JOIN ai_scene_group G ON A.agent_group = G.group_id" + " WHERE " + (debugMode ? " agent_order > 0 OR is_debug='Y'" : "agent_order > 0 AND is_debug IS NULL") + " ORDER BY abs(agent_order)" - , null, - new DBQueryNotify() { + ; + + // 璇诲彇鎵�鏈塧mis鐨刟gent + db.querySQLNotify(sql, null, new DBQueryNotify() { @Override public boolean onNextRecord(DBRecord rec) throws Exception { - SMTQwenAgent agent = (SMTQwenAgent)Class.forName(rec.getString("clz_name")).newInstance(); - agent.initInstance(rec); - manager.addAgent(agent); + try + { + SMTQwenAgent agent = (SMTQwenAgent)Class.forName(rec.getString("clz_name")).newInstance(); + agent.initInstance(rec); + manager.addAgent(agent); + } + catch(Exception ex) + { + _logger.fatal("load agent error and skip it : " + rec.getString("agent_id"), ex); + } return true; } -- Gitblit v1.9.3