From b4252033d56a9ad950f3e204ff021497c3978015 Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Mon, 5 Aug 2024 12:57:13 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96pipeline=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E6=97=B6=EF=BC=8C=E5=88=A0=E9=99=A4=E5=85=B6=E4=BB=96?= =?UTF-8?q?history?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/core/pipeline/src/core/file-store.ts | 2 ++ .../pipeline/service/history-log-service.ts | 4 ++++ .../modules/pipeline/service/history-service.ts | 17 +++++++++++++++++ .../pipeline/service/pipeline-service.ts | 2 ++ 4 files changed, 25 insertions(+) diff --git a/packages/core/pipeline/src/core/file-store.ts b/packages/core/pipeline/src/core/file-store.ts index bca4ea8d..1db22a31 100644 --- a/packages/core/pipeline/src/core/file-store.ts +++ b/packages/core/pipeline/src/core/file-store.ts @@ -18,7 +18,9 @@ export interface IFileStore { export class FileStore { rootDir: string; + // pipelineId scope: string; + // historyId parent: string; constructor(options?: FileStoreOptions) { this.rootDir = fileUtils.getFileRootDir(options?.rootDir); diff --git a/packages/ui/certd-server/src/modules/pipeline/service/history-log-service.ts b/packages/ui/certd-server/src/modules/pipeline/service/history-log-service.ts index 2b56bc71..84cc4a4f 100644 --- a/packages/ui/certd-server/src/modules/pipeline/service/history-log-service.ts +++ b/packages/ui/certd-server/src/modules/pipeline/service/history-log-service.ts @@ -31,4 +31,8 @@ export class HistoryLogService extends BaseService { } await this.repository.delete({ historyId: In(numbers) }); } + + async deleteByPipelineId(id: number) { + await this.repository.delete({ pipelineId: id }); + } } diff --git a/packages/ui/certd-server/src/modules/pipeline/service/history-service.ts b/packages/ui/certd-server/src/modules/pipeline/service/history-service.ts index 3df00b12..af34254e 100644 --- a/packages/ui/certd-server/src/modules/pipeline/service/history-service.ts +++ b/packages/ui/certd-server/src/modules/pipeline/service/history-service.ts @@ -142,4 +142,21 @@ export class HistoryService extends BaseService { }); await this.logService.deleteByHistoryIds(ids); } + + async deleteByPipelineId(id: number) { + await this.repository.delete({ + pipelineId: id, + }); + + try { + const fileStore = new FileStore({ + rootDir: this.certdConfig.fileRootDir, + scope: id + '', + parent: '0', + }); + fileStore.deleteByParent(id + '', ''); + } catch (e) { + logger.error('删除文件失败', e); + } + } } 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 6e57a1b9..3a2693a0 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 @@ -198,6 +198,8 @@ export class PipelineService extends BaseService { // const storage = new DbStorage(pipeline.userId, this.storageService); // await storage.remove(pipeline.id); await super.delete([id]); + await this.historyService.deleteByPipelineId(id); + await this.historyLogService.deleteByPipelineId(id); } async clearTriggers(id: number) {