diff --git a/back/schedule/addCron.ts b/back/schedule/addCron.ts index f9e8c3ae..9207acf3 100644 --- a/back/schedule/addCron.ts +++ b/back/schedule/addCron.ts @@ -3,6 +3,9 @@ import { AddCronRequest, AddCronResponse } from '../protos/cron'; import nodeSchedule from 'node-schedule'; import { scheduleStacks } from './data'; import { runCron } from '../shared/runCron'; +import { QL_PREFIX, TASK_PREFIX } from '../config/const'; +import Logger from '../loaders/logger'; +import dayjs from 'dayjs'; const addCron = ( call: ServerUnaryCall, @@ -13,10 +16,17 @@ const addCron = ( if (scheduleStacks.has(id)) { scheduleStacks.get(id)?.cancel(); } + + let cmdStr = command; + if (!cmdStr.startsWith(TASK_PREFIX) && !cmdStr.startsWith(QL_PREFIX)) { + cmdStr = `${TASK_PREFIX}${cmdStr}`; + } + scheduleStacks.set( id, nodeSchedule.scheduleJob(id, schedule, async () => { - runCron(`ID=${id} ${command}`) + Logger.silly(`当前时间: ${dayjs().format('YYYY-MM-DD HH:mm:ss')},运行命令: ${cmdStr}`); + runCron(`ID=${id} ${cmdStr}`) }), ); } diff --git a/back/services/cron.ts b/back/services/cron.ts index e377240c..bb860996 100644 --- a/back/services/cron.ts +++ b/back/services/cron.ts @@ -24,7 +24,7 @@ export default class CronService { private isSixCron(cron: Crontab) { const { schedule } = cron; - if (schedule?.split(/ +/).length === 6) { + if (Number(schedule?.split(/ +/).length) > 5) { return true; } return false;