From 833808c5deb716122b241d3d67349d2d6a18bf45 Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Fri, 26 Dec 2025 16:29:20 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=BB=8E=E6=A8=A1?= =?UTF-8?q?=E7=89=88=E5=88=9B=E5=BB=BA=E7=9A=84=E6=B5=81=E6=B0=B4=E7=BA=BF?= =?UTF-8?q?=E4=B8=8D=E4=BC=9A=E8=87=AA=E5=8A=A8=E6=89=A7=E8=A1=8C=E7=9A=84?= =?UTF-8?q?bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pipeline/service/pipeline-service.ts | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/packages/ui/certd-server/src/modules/pipeline/service/pipeline-service.ts b/packages/ui/certd-server/src/modules/pipeline/service/pipeline-service.ts index 5172e0013..b48becb51 100644 --- a/packages/ui/certd-server/src/modules/pipeline/service/pipeline-service.ts +++ b/packages/ui/certd-server/src/modules/pipeline/service/pipeline-service.ts @@ -47,6 +47,7 @@ import { CertInfoService } from "../../monitor/service/cert-info-service.js"; import { TaskServiceBuilder } from "./getter/task-service-getter.js"; import { nanoid } from "nanoid"; import { set } from "lodash-es"; +import { executorQueue } from "./executor-queue.js"; const runningTasks: Map = new Map(); @@ -311,7 +312,7 @@ export class PipelineService extends BaseService { }, where: { disabled: false, - templateId: 0 + isTemplate: false } }); const ids = idEntityList.map(item => { @@ -489,11 +490,16 @@ export class PipelineService extends BaseService { logger.warn("pipelineId为空,无法执行"); return; } - try { - await this.run(pipelineId, triggerId); - } catch (e) { - logger.error("定时job执行失败:", e); - } + //加入执行队列 + executorQueue.addTask({ + task: async () => { + try { + await this.run(pipelineId, triggerId); + } catch (e) { + logger.error("定时job执行失败:", e); + } + } + }); } }); logger.info("当前定时器数量:", this.cron.getTaskSize()); @@ -666,12 +672,13 @@ export class PipelineService extends BaseService { //如果不是手动触发 //查找trigger const found = this.findTrigger(pipeline, triggerId); + const key = this.buildCronKey(pipeline.id, triggerId); if (!found) { //如果没有找到triggerId,说明被用户删掉了,这里再删除一次 - this.cron.remove(this.buildCronKey(pipeline.id, triggerId)); + this.cron.remove(key); triggerType = null; } else { - logger.info("timer trigger:" + found.id, found.title, found.cron); + logger.info(`timer trigger:${key}, ${found.title}, ${found.props}`); triggerType = "timer"; } }