From dc73f47486d36866e22fba0233feee240c6e51cc Mon Sep 17 00:00:00 2001 From: archer <545436317@qq.com> Date: Wed, 2 Apr 2025 17:23:39 +0800 Subject: [PATCH] feat: config chat file expired time --- docSite/content/zh-cn/docs/development/upgrading/494.md | 1 + packages/service/common/system/timerLock/constants.ts | 2 +- projects/app/.env.template | 2 ++ projects/app/src/service/common/system/cron.ts | 3 ++- projects/app/src/service/common/system/cronTask.ts | 4 +++- 5 files changed, 9 insertions(+), 3 deletions(-) diff --git a/docSite/content/zh-cn/docs/development/upgrading/494.md b/docSite/content/zh-cn/docs/development/upgrading/494.md index 78c596b85..a1ba0abc1 100644 --- a/docSite/content/zh-cn/docs/development/upgrading/494.md +++ b/docSite/content/zh-cn/docs/development/upgrading/494.md @@ -49,6 +49,7 @@ curl --location --request POST 'https://{{host}}/api/admin/initv494' \ ## ⚙️ 优化 1. Admin 模板渲染调整。 +2. 支持环境变量配置对话文件过期时间。 ## 🐛 修复 diff --git a/packages/service/common/system/timerLock/constants.ts b/packages/service/common/system/timerLock/constants.ts index 1e79cb446..538ac4a21 100644 --- a/packages/service/common/system/timerLock/constants.ts +++ b/packages/service/common/system/timerLock/constants.ts @@ -1,5 +1,5 @@ export enum TimerIdEnum { - checkInValidDatasetFiles = 'checkInValidDatasetFiles', + checkExpiredFiles = 'checkExpiredFiles', checkInvalidDatasetData = 'checkInvalidDatasetData', checkInvalidVector = 'checkInvalidVector', clearExpiredSubPlan = 'clearExpiredSubPlan', diff --git a/projects/app/.env.template b/projects/app/.env.template index e6ccd8542..d9c270fad 100644 --- a/projects/app/.env.template +++ b/projects/app/.env.template @@ -50,6 +50,8 @@ LOG_LEVEL=debug STORE_LOG_LEVEL=warn # 安全配置 +# 对话文件 n 天过期 +CHAT_FILE_EXPIRE_TIME=7 # 启动 IP 限流(true),部分接口增加了 ip 限流策略,防止非正常请求操作。 USE_IP_LIMIT=false # 工作流最大运行次数,避免极端的死循环情况 diff --git a/projects/app/src/service/common/system/cron.ts b/projects/app/src/service/common/system/cron.ts index c6546f267..3910af495 100644 --- a/projects/app/src/service/common/system/cron.ts +++ b/projects/app/src/service/common/system/cron.ts @@ -28,10 +28,11 @@ const setClearTmpUploadFilesCron = () => { }; const clearInvalidDataCron = () => { + // Clear files setCron('0 */1 * * *', async () => { if ( await checkTimerLock({ - timerId: TimerIdEnum.checkInValidDatasetFiles, + timerId: TimerIdEnum.checkExpiredFiles, lockMinuted: 59 }) ) { diff --git a/projects/app/src/service/common/system/cronTask.ts b/projects/app/src/service/common/system/cronTask.ts index bba0b348b..e64562099 100644 --- a/projects/app/src/service/common/system/cronTask.ts +++ b/projects/app/src/service/common/system/cronTask.ts @@ -71,8 +71,10 @@ export async function checkInvalidDatasetFiles(start: Date, end: Date) { export const removeExpiredChatFiles = async () => { let deleteFileAmount = 0; const collection = getGFSCollection(BucketNameEnum.chat); + + const expireTime = Number(process.env.CHAT_FILE_EXPIRE_TIME || 7); const where = { - uploadDate: { $lte: addDays(new Date(), -7) } + uploadDate: { $lte: addDays(new Date(), -expireTime) } }; // get all file _id