From d94264b205b37628748705b894248f97210977f8 Mon Sep 17 00:00:00 2001 From: 秦芳睿 <1425609123@qq.com> Date: 星期二, 22 四月 2025 09:31:10 +0800 Subject: [PATCH] perf(server): 增大数据库连接池最大活跃数 --- JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/scheduledTasks/checkForTicketStatusChanges.java | 156 +++++++++++++++++++-------------------------------- 1 files changed, 59 insertions(+), 97 deletions(-) diff --git a/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/scheduledTasks/checkForTicketStatusChanges.java b/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/scheduledTasks/checkForTicketStatusChanges.java index d0ed99f..14c9b03 100644 --- a/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/scheduledTasks/checkForTicketStatusChanges.java +++ b/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/scheduledTasks/checkForTicketStatusChanges.java @@ -10,6 +10,8 @@ import java.util.Calendar; import java.util.Date; +import java.util.Objects; + import lombok.extern.log4j.Log4j2; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -26,104 +28,64 @@ @Log4j2 @Component public class checkForTicketStatusChanges { - private static final Logger _logger = LogManager.getLogger(checkForTicketStatusChanges.class); + private static final Logger _logger = LogManager.getLogger(checkForTicketStatusChanges.class); - /** - * 宸ュ崟鐘舵�佽浆鍙樹负 宸叉帴鍗� - * - * @throws Exception - */ @Scheduled(cron = "0/10 * * * * ?") - public void execCheckForTicketStatusChangesByOrdersTaken() throws Exception { - _logger.info("start checkForTicketStatusChanges task"); - - try - { - Date date = new Date(); - Calendar cal = Calendar.getInstance(); - cal.setTime(date); - cal.add(Calendar.MINUTE, -5); - Date time = cal.getTime(); - - _logger.info("aaaaaaaaaaaaaa : " + SMTAIServerApp.getApp().getSystemDatasourceUsgae()); - - try(SMTDatabase db = SMTAIServerApp.getApp().allocDatabase()) - { - SMTDatabase.DBRecords dbRecords = - db.querySQL( - "select order_id from work_order_list where is_notify =? and status_update_time > ? and stepstatus =1", - new Object[] {"N", time}); - - _logger.info("鏌ヨ鍒扮姸鎬佷负宸叉帴鍗曠殑宸ュ崟鐨勬暟閲忥細{}", dbRecords.getRowCount()); - for (SMTDatabase.DBRecord rec : dbRecords.getRecords()) { - String agentId = - (String) - SMTAIServerApp.getApp() - .getGlobalConfig( - "work_order.workflow_agent_re", "status_changes_received_order"); - - Json jsonArgs = Json.object("question", "", "order_id", rec.getString("order_id")); - - SMTQwenAgent agent = SMTAIServerApp.getApp().getQwenAgentManager().getAgentById(agentId); - if (agent == null) throw new Exception("can't find agent : " + agentId); - SMTLLMConnect llm = SMTAIServerApp.getApp().allocLLMConnect(null); - - SMTAIServerRequest _tranReq = new SMTAIServerRequest(); - agent.callAgents("/", jsonArgs, llm, "", _tranReq); - } - } - _logger.info("bbbbbbbbbbbbbbbbbbb : " + SMTAIServerApp.getApp().getSystemDatasourceUsgae()); - } - catch (Exception e) { - _logger.error("checkForTicketStatusChanges error", e); - } - } + public void execCheckForTicketStatusChanges() throws Exception { + String result = (String) SMTAIServerApp.getApp().getGlobalConfig("work_order.inner_order", null); + if (Objects.equals(result, "N")) { + return; + } + _logger.info("start execCheckForTicketStatusChanges task"); + try { + Date date = new Date(); + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + cal.add(Calendar.MINUTE, -5); + Date time = cal.getTime(); - /** - * 宸ュ崟鐘舵�佽浆鍙樹负 宸插畬鎴� - * - * @throws Exception - */ - @Scheduled(cron = "0/10 * * * * ?") - public void execCheckForTicketStatusChangesByFinish() throws Exception { - _logger.info("start checkForTicketStatusChanges task"); - try - { - Date date = new Date(); - Calendar cal = Calendar.getInstance(); - cal.setTime(date); - cal.add(Calendar.MINUTE, -5); - Date time = cal.getTime(); - - try(SMTDatabase db = SMTAIServerApp.getApp().allocDatabase()) - { - SMTDatabase.DBRecords dbRecords = - db.querySQL( - "select order_id from work_order_list where is_notify =? and status_update_time > ? and stepstatus =4", - new Object[] {"N", time}); - - _logger.info("鏌ヨ鍒扮姸鎬佷负宸插畬鎴愮殑宸ュ崟鐨勬暟閲忥細{}", dbRecords.getRowCount()); - for (SMTDatabase.DBRecord rec : dbRecords.getRecords()) { - String agentId = - (String) - SMTAIServerApp.getApp() - .getGlobalConfig( - "work_order.workflow_agent_finish", "status_changes_received_order"); - Json jsonArgs = Json.object("question", "", "order_id", rec.getString("order_id")); - - SMTQwenAgent agent = SMTAIServerApp.getApp().getQwenAgentManager().getAgentById(agentId); - if (agent == null) throw new Exception("can't find agent : " + agentId); - SMTLLMConnect llm = SMTAIServerApp.getApp().allocLLMConnect(null); - - SMTAIServerRequest _tranReq = new SMTAIServerRequest(); - agent.callAgents("/", jsonArgs, llm, "", _tranReq); - } - - } - } - catch (Exception e) - { - _logger.error("checkForTicketStatusChanges error", e); - } - } + try (SMTDatabase db = SMTAIServerApp.getApp().allocDatabase()) { + SMTDatabase.DBRecords dbRecords = + db.querySQL( + "select order_id, stepstatus from work_order_list where is_notify = ? and status_update_time > ? and stepstatus in (1, 4)", + new Object[]{"N", time}); + + _logger.info("鏌ヨ鍒扮姸鎬佷负銆愬凡鎺ュ崟 鎴� 宸插畬鎴愩�戠殑宸ュ崟鏁伴噺锛歿}", dbRecords.getRowCount()); + + for (SMTDatabase.DBRecord rec : dbRecords.getRecords()) { + String orderId = rec.getString("order_id"); + int stepstatus = rec.getInteger("stepstatus"); + + String configKey; + switch (stepstatus) { + case 1: + configKey = "work_order.workflow_agent_re"; + break; + case 4: + configKey = "work_order.workflow_agent_finish"; + break; + default: + _logger.warn("涓嶆敮鎸佺殑stepstatus: {}", stepstatus); + continue; + } + + String agentId = (String) SMTAIServerApp.getApp().getGlobalConfig(configKey, "status_changes_received_order"); + + SMTQwenAgent agent = SMTAIServerApp.getApp().getQwenAgentManager().getAgentById(agentId); + if (agent == null) { + _logger.error("鎵句笉鍒癆gent: {}", agentId); + continue; + } + + Json jsonArgs = Json.object("question", "", "order_id", orderId); + SMTLLMConnect llm = SMTAIServerApp.getApp().allocLLMConnect(null); + SMTAIServerRequest _tranReq = new SMTAIServerRequest(); + agent.callAgents("/", jsonArgs, llm, "", _tranReq); + } + } + } catch (Exception e) { + _logger.error("execCheckForTicketStatusChanges error", e); + } + } + } -- Gitblit v1.9.3