bfg-common 1.4.302 → 1.4.304
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/common/pages/scheduledTasks/modals/common/newTaskForm/NewTaskForm.vue +25 -42
- package/components/common/pages/scheduledTasks/modals/lib/config/createScheduledTask.ts +1 -1
- package/components/common/pages/scheduledTasks/modals/lib/models/interfaces.ts +1 -1
- package/package.json +1 -1
|
@@ -133,68 +133,48 @@ watch(
|
|
|
133
133
|
},
|
|
134
134
|
{ deep: true }
|
|
135
135
|
)
|
|
136
|
-
/* TODO рефакторинг все методы надо рефакторить */
|
|
137
|
-
const generateOnceCronExpression = (date: Date): any => {
|
|
138
|
-
if (!date) return
|
|
139
|
-
|
|
140
|
-
const minutes = date.getMinutes()
|
|
141
|
-
const hours = date.getHours()
|
|
142
|
-
const day = date.getDate()
|
|
143
|
-
const month = date.getMonth() + 1 // В cron месяцы начинаются с 1 (январь = 1)
|
|
144
|
-
const dayOfWeek = '*' // Для одноразовой задачи день недели неважен
|
|
145
136
|
|
|
146
|
-
|
|
147
|
-
return `${minutes} ${hours} ${day} ${month} ${dayOfWeek} once`
|
|
148
|
-
}
|
|
137
|
+
/* TODO рефакторинг все методы надо рефакторить */
|
|
149
138
|
const generateHourlyCronExpression = (
|
|
150
139
|
data: UI_I_ScheduleNewTasksForm
|
|
151
140
|
): string => {
|
|
152
|
-
const
|
|
141
|
+
const startTimestamp = Math.floor(
|
|
153
142
|
new Date(data.frg_start_on_time).getTime() / 1000
|
|
154
143
|
)
|
|
155
144
|
const endTimestamp = Math.floor(new Date(data.frg_end_time).getTime() / 1000)
|
|
156
145
|
|
|
157
|
-
// const minutes = date.getMinutes()
|
|
158
|
-
// const hours = date.getHours()
|
|
159
|
-
|
|
160
146
|
// Генерируем cron-выражение
|
|
161
|
-
// return `${minutes} ${hours}/${delay} * * *`
|
|
162
147
|
return endTimestamp
|
|
163
|
-
?
|
|
164
|
-
:
|
|
148
|
+
? `* * * * * ${startTimestamp}-${endTimestamp}:${data.frg_interval}-0-0-0`
|
|
149
|
+
: `* * * * * ${startTimestamp}:${data.frg_interval}-0-0-0`
|
|
165
150
|
}
|
|
166
|
-
const
|
|
151
|
+
const generateDailyCronExpression = (
|
|
167
152
|
data: UI_I_ScheduleNewTasksForm
|
|
168
153
|
): string => {
|
|
169
|
-
const
|
|
154
|
+
const startTimestamp = Math.floor(
|
|
170
155
|
new Date(data.frg_start_on_time).getTime() / 1000
|
|
171
156
|
)
|
|
172
157
|
const endTimestamp = Math.floor(new Date(data.frg_end_time).getTime() / 1000)
|
|
173
158
|
|
|
174
159
|
// Генерируем cron-выражение
|
|
175
160
|
return endTimestamp
|
|
176
|
-
?
|
|
177
|
-
:
|
|
178
|
-
|
|
179
|
-
// return `${minutes} ${hours} ${day}/${delay} * *`
|
|
161
|
+
? `* * * * * ${startTimestamp}-${endTimestamp}:0-${data.frg_interval}-0-0`
|
|
162
|
+
: `* * * * * ${startTimestamp}:0-${data.frg_interval}-0-0`
|
|
180
163
|
}
|
|
181
164
|
const generateWeeklyCronExpression = (
|
|
182
165
|
data: UI_I_ScheduleNewTasksForm
|
|
183
166
|
): string => {
|
|
184
167
|
const { frg_on_week_days } = data
|
|
185
168
|
|
|
186
|
-
const
|
|
169
|
+
const startTimestamp = Math.floor(
|
|
187
170
|
new Date(data.frg_start_on_time).getTime() / 1000
|
|
188
171
|
)
|
|
189
172
|
const endTimestamp = Math.floor(new Date(data.frg_end_time).getTime() / 1000)
|
|
173
|
+
const daysOfWeek = frg_on_week_days.join(',')
|
|
190
174
|
|
|
191
175
|
return endTimestamp
|
|
192
|
-
? `* * * * ${
|
|
193
|
-
|
|
194
|
-
} start=${startOnTimestamp},end=${endTimestamp}`
|
|
195
|
-
: `* * * * ${frg_on_week_days.join(',')}/${
|
|
196
|
-
data.frg_interval
|
|
197
|
-
} start=${startOnTimestamp}`
|
|
176
|
+
? `* * * * ${daysOfWeek} ${startTimestamp}-${endTimestamp}:0-0-0-${data.frg_interval}`
|
|
177
|
+
: `* * * * ${daysOfWeek} ${startTimestamp}:0-0-0-${data.frg_interval}`
|
|
198
178
|
}
|
|
199
179
|
|
|
200
180
|
const generateMonthlyCronExpression = (
|
|
@@ -203,19 +183,21 @@ const generateMonthlyCronExpression = (
|
|
|
203
183
|
const { frg_interval, frg_monthly_day, frq_week_day, frq_ordinal_number } =
|
|
204
184
|
data
|
|
205
185
|
|
|
206
|
-
const
|
|
186
|
+
const startTimestamp = Math.floor(
|
|
207
187
|
new Date(data.frg_start_on_time).getTime() / 1000
|
|
208
188
|
)
|
|
209
189
|
const endTimestamp = Math.floor(new Date(data.frg_end_time).getTime() / 1000)
|
|
210
190
|
|
|
211
|
-
const
|
|
212
|
-
|
|
213
|
-
const
|
|
191
|
+
const daysOfWeek = `${frq_week_day}#${frq_ordinal_number}`
|
|
192
|
+
|
|
193
|
+
const timestamp = endTimestamp
|
|
194
|
+
? `${startTimestamp}-${endTimestamp}`
|
|
195
|
+
: startTimestamp
|
|
214
196
|
|
|
215
197
|
// Генерируем cron-выражение
|
|
216
|
-
return
|
|
217
|
-
? `* *
|
|
218
|
-
: `* * ${
|
|
198
|
+
return data.frg_monthly_mode === 'week'
|
|
199
|
+
? `* * * * * ${timestamp}:0-0-${frg_interval}-${daysOfWeek}`
|
|
200
|
+
: `* * ${frg_monthly_day} */${frg_interval} * ${timestamp}:0-0-0-0`
|
|
219
201
|
}
|
|
220
202
|
|
|
221
203
|
const generateCronExpression = (
|
|
@@ -227,9 +209,10 @@ const generateCronExpression = (
|
|
|
227
209
|
// Генерируем cron-выражение на основе runType
|
|
228
210
|
switch (runType) {
|
|
229
211
|
case 'once':
|
|
230
|
-
|
|
231
|
-
new Date(interval.frg_on_time)
|
|
212
|
+
const timestamp = Math.floor(
|
|
213
|
+
new Date(interval.frg_on_time).getTime() / 1000
|
|
232
214
|
)
|
|
215
|
+
cronExpression = `* * * * * ${timestamp}:0-0-0-0:once`
|
|
233
216
|
break
|
|
234
217
|
case 'after-startup':
|
|
235
218
|
const suffixDelay =
|
|
@@ -240,7 +223,7 @@ const generateCronExpression = (
|
|
|
240
223
|
cronExpression = generateHourlyCronExpression(interval)
|
|
241
224
|
break
|
|
242
225
|
case 'day':
|
|
243
|
-
cronExpression =
|
|
226
|
+
cronExpression = generateDailyCronExpression(interval)
|
|
244
227
|
break
|
|
245
228
|
case 'week':
|
|
246
229
|
cronExpression = generateWeeklyCronExpression(interval)
|