修改定时任务唯一键

This commit is contained in:
whyour 2022-01-30 10:11:47 +08:00
parent 74b258e1b6
commit 0914075cf6
2 changed files with 13 additions and 6 deletions

View File

@ -49,12 +49,18 @@ export enum CrontabStatus {
interface CronInstance extends Model<Crontab, Crontab>, Crontab {}
export const CrontabModel = sequelize.define<CronInstance>('Crontab', {
name: DataTypes.STRING,
command: {
unique: 'command',
name: {
unique: 'compositeIndex',
type: DataTypes.STRING,
},
command: {
unique: 'compositeIndex',
type: DataTypes.STRING,
},
schedule: {
unique: 'compositeIndex',
type: DataTypes.STRING,
},
schedule: DataTypes.STRING,
timestamp: DataTypes.STRING,
saved: DataTypes.BOOLEAN,
status: DataTypes.NUMBER,

View File

@ -5,7 +5,7 @@ import { Crontab, CrontabModel, CrontabStatus } from '../data/cron';
import { exec, execSync, spawn } from 'child_process';
import fs from 'fs';
import cron_parser from 'cron-parser';
import { getFileContentByName, concurrentRun } from '../config/util';
import { getFileContentByName, concurrentRun, fileExist } from '../config/util';
import { promises, existsSync } from 'fs';
import { promisify } from 'util';
import { Op } from 'sequelize';
@ -194,7 +194,8 @@ export default class CronService {
}
}
const err = await this.killTask(doc.command);
if (doc.log_path) {
const logFileExist = await fileExist(doc.log_path);
if (doc.log_path && logFileExist) {
const str = err ? `\n${err}` : '';
fs.appendFileSync(
`${doc.log_path}`,