refactor(core): Centralize CronJob management (#10033)

This commit is contained in:
कारतोफ्फेलस्क्रिप्ट™
2024-07-16 20:42:48 +02:00
committed by GitHub
parent 36b314d031
commit 09f2cf9eaf
18 changed files with 730 additions and 429 deletions

View File

@@ -1,6 +1,53 @@
export interface IRecurencyRule {
activated: boolean;
index?: number;
intervalSize?: number;
typeInterval?: string;
import type { CronExpression } from 'n8n-workflow';
export type IRecurrenceRule =
| { activated: false }
| {
activated: true;
index: number;
intervalSize: number;
typeInterval: 'hours' | 'days' | 'weeks' | 'months';
};
export type ScheduleInterval =
| {
field: 'cronExpression';
expression: CronExpression;
}
| {
field: 'seconds';
secondsInterval: number;
}
| {
field: 'minutes';
minutesInterval: number;
}
| {
field: 'hours';
hoursInterval: number;
triggerAtMinute?: number;
}
| {
field: 'days';
daysInterval: number;
triggerAtHour?: number;
triggerAtMinute?: number;
}
| {
field: 'weeks';
weeksInterval: number;
triggerAtDay: number[];
triggerAtHour?: number;
triggerAtMinute?: number;
}
| {
field: 'months';
monthsInterval: number;
triggerAtDayOfMonth?: number;
triggerAtHour?: number;
triggerAtMinute?: number;
};
export interface Rule {
interval: ScheduleInterval[];
}