From 3b0f55caf418543bded1774455ccd445b50c5bdd Mon Sep 17 00:00:00 2001 From: whyour Date: Sun, 23 Nov 2025 12:45:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BB=BB=E5=8A=A1=E5=AE=9E?= =?UTF-8?q?=E4=BE=8B=E9=BB=98=E8=AE=A4=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- back/api/script.ts | 1 + back/shared/runCron.ts | 6 +++--- back/validation/schedule.ts | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/back/api/script.ts b/back/api/script.ts index 419ace4a..9ad9beb4 100644 --- a/back/api/script.ts +++ b/back/api/script.ts @@ -129,6 +129,7 @@ export default (app: Router) => { content: Joi.string().optional().allow(''), originFilename: Joi.string().optional().allow(''), directory: Joi.string().optional().allow(''), + file: Joi.string().optional().allow(''), }), }), async (req: Request, res: Response, next: NextFunction) => { diff --git a/back/shared/runCron.ts b/back/shared/runCron.ts index 31f3ada4..9ccfdb05 100644 --- a/back/shared/runCron.ts +++ b/back/shared/runCron.ts @@ -15,11 +15,11 @@ export function runCron(cmd: string, cron: ICron): Promise { }); // Default to single instance mode (0) for backward compatibility - const allowMultipleInstances = - existingCron?.allow_multiple_instances === 1; + const allowSingleInstances = + existingCron?.allow_multiple_instances === 0; if ( - !allowMultipleInstances && + allowSingleInstances && existingCron && existingCron.pid && (existingCron.status === CrontabStatus.running || diff --git a/back/validation/schedule.ts b/back/validation/schedule.ts index 475859a1..ed212ab4 100644 --- a/back/validation/schedule.ts +++ b/back/validation/schedule.ts @@ -81,5 +81,5 @@ export const commonCronSchema = { 'string.max': '日志名称不能超过100个字符', 'string.unsafePath': '绝对路径必须在日志目录内或使用 /dev/null', }), - allow_multiple_instances: Joi.number().optional().valid(0, 1), + allow_multiple_instances: Joi.number().optional().valid(0, 1).allow(null), };