From 2182dce07cee3d0f5b52a7981a740c224b48e60c Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Mon, 5 Aug 2024 15:08:24 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E4=BF=AE=E5=A4=8Dpipelineid=E4=B8=BA?= =?UTF-8?q?=E7=A9=BA=E8=A2=AB=E6=B3=A8=E5=86=8C=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pipeline/service/pipeline-service.ts | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 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 3a2693a0..c640fc33 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 @@ -73,6 +73,7 @@ export class PipelineService extends BaseService { const info = await this.info(pipelineId); if (info && !info.disabled) { const pipeline = JSON.parse(info.content); + // 手动触发,不要await this.registerTriggers(pipeline); } } @@ -173,7 +174,7 @@ export class PipelineService extends BaseService { if (immediateTriggerOnce) { await this.trigger(pipeline.id); - await sleep(1000); + await sleep(200); } } @@ -224,6 +225,11 @@ export class PipelineService extends BaseService { } registerCron(pipelineId, trigger) { + if (pipelineId == null) { + logger.warn('pipelineId为空,无法注册定时任务'); + return; + } + let cron = trigger.props?.cron; if (cron == null) { return; @@ -232,15 +238,20 @@ export class PipelineService extends BaseService { if (cron.startsWith('*')) { cron = '0' + cron.substring(1, cron.length); } - const name = this.buildCronKey(pipelineId, trigger.id); + const triggerId = trigger.id; + const name = this.buildCronKey(pipelineId, triggerId); this.cron.remove(name); this.cron.register({ name, cron, job: async () => { - logger.info('定时任务触发:', pipelineId, trigger.id); + logger.info('定时任务触发:', pipelineId, triggerId); + if (pipelineId == null) { + logger.warn('pipelineId为空,无法执行'); + return; + } try { - await this.run(pipelineId, trigger.id); + await this.run(pipelineId, triggerId); } catch (e) { logger.error('定时job执行失败:', e); }