bfg-common 1.4.301 → 1.4.303
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 -46
- 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,72 +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
|
-
|
|
153
|
-
|
|
154
|
-
const startOnTimestamp = Math.floor(
|
|
141
|
+
const startTimestamp = Math.floor(
|
|
155
142
|
new Date(data.frg_start_on_time).getTime() / 1000
|
|
156
143
|
)
|
|
157
144
|
const endTimestamp = Math.floor(new Date(data.frg_end_time).getTime() / 1000)
|
|
158
145
|
|
|
159
|
-
// const minutes = date.getMinutes()
|
|
160
|
-
// const hours = date.getHours()
|
|
161
|
-
|
|
162
146
|
// Генерируем cron-выражение
|
|
163
|
-
// return `${minutes} ${hours}/${delay} * * *`
|
|
164
147
|
return endTimestamp
|
|
165
|
-
?
|
|
166
|
-
:
|
|
148
|
+
? `* * * * * ${startTimestamp}-${endTimestamp}:${data.frg_interval}-0-0-0`
|
|
149
|
+
: `* * * * * ${startTimestamp}:${data.frg_interval}-0-0-0`
|
|
167
150
|
}
|
|
168
|
-
const
|
|
151
|
+
const generateDailyCronExpression = (
|
|
169
152
|
data: UI_I_ScheduleNewTasksForm
|
|
170
153
|
): string => {
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
const startOnTimestamp = Math.floor(
|
|
154
|
+
const startTimestamp = Math.floor(
|
|
174
155
|
new Date(data.frg_start_on_time).getTime() / 1000
|
|
175
156
|
)
|
|
176
157
|
const endTimestamp = Math.floor(new Date(data.frg_end_time).getTime() / 1000)
|
|
177
158
|
|
|
178
159
|
// Генерируем cron-выражение
|
|
179
160
|
return endTimestamp
|
|
180
|
-
?
|
|
181
|
-
:
|
|
182
|
-
|
|
183
|
-
// return `${minutes} ${hours} ${day}/${delay} * *`
|
|
161
|
+
? `* * * * * ${startTimestamp}-${endTimestamp}:0-${data.frg_interval}-0-0`
|
|
162
|
+
: `* * * * * ${startTimestamp}:0-${data.frg_interval}-0-0`
|
|
184
163
|
}
|
|
185
164
|
const generateWeeklyCronExpression = (
|
|
186
165
|
data: UI_I_ScheduleNewTasksForm
|
|
187
166
|
): string => {
|
|
188
167
|
const { frg_on_week_days } = data
|
|
189
168
|
|
|
190
|
-
const
|
|
169
|
+
const startTimestamp = Math.floor(
|
|
191
170
|
new Date(data.frg_start_on_time).getTime() / 1000
|
|
192
171
|
)
|
|
193
172
|
const endTimestamp = Math.floor(new Date(data.frg_end_time).getTime() / 1000)
|
|
173
|
+
const daysOfWeek = frg_on_week_days.join(',')
|
|
194
174
|
|
|
195
175
|
return endTimestamp
|
|
196
|
-
? `* * * * ${
|
|
197
|
-
|
|
198
|
-
} start=${startOnTimestamp},end=${endTimestamp}`
|
|
199
|
-
: `* * * * ${frg_on_week_days.join(',')}/${
|
|
200
|
-
data.frg_interval
|
|
201
|
-
} start=${startOnTimestamp}`
|
|
176
|
+
? `* * * * ${daysOfWeek} ${startTimestamp}-${endTimestamp}:0-0-0-${data.frg_interval}`
|
|
177
|
+
: `* * * * ${daysOfWeek} ${startTimestamp}:0-0-0-${data.frg_interval}`
|
|
202
178
|
}
|
|
203
179
|
|
|
204
180
|
const generateMonthlyCronExpression = (
|
|
@@ -207,19 +183,21 @@ const generateMonthlyCronExpression = (
|
|
|
207
183
|
const { frg_interval, frg_monthly_day, frq_week_day, frq_ordinal_number } =
|
|
208
184
|
data
|
|
209
185
|
|
|
210
|
-
const
|
|
186
|
+
const startTimestamp = Math.floor(
|
|
211
187
|
new Date(data.frg_start_on_time).getTime() / 1000
|
|
212
188
|
)
|
|
213
189
|
const endTimestamp = Math.floor(new Date(data.frg_end_time).getTime() / 1000)
|
|
214
190
|
|
|
215
|
-
const
|
|
216
|
-
|
|
217
|
-
const
|
|
191
|
+
const daysOfWeek = `${frq_week_day}#${frq_ordinal_number}`
|
|
192
|
+
|
|
193
|
+
const timestamp = endTimestamp
|
|
194
|
+
? `${startTimestamp}-${endTimestamp}`
|
|
195
|
+
: startTimestamp
|
|
218
196
|
|
|
219
197
|
// Генерируем cron-выражение
|
|
220
|
-
return
|
|
221
|
-
? `* *
|
|
222
|
-
: `* * ${
|
|
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`
|
|
223
201
|
}
|
|
224
202
|
|
|
225
203
|
const generateCronExpression = (
|
|
@@ -231,9 +209,10 @@ const generateCronExpression = (
|
|
|
231
209
|
// Генерируем cron-выражение на основе runType
|
|
232
210
|
switch (runType) {
|
|
233
211
|
case 'once':
|
|
234
|
-
|
|
235
|
-
new Date(interval.frg_on_time)
|
|
212
|
+
const timestamp = Math.floor(
|
|
213
|
+
new Date(interval.frg_on_time).getTime() / 1000
|
|
236
214
|
)
|
|
215
|
+
cronExpression = `* * * * * ${timestamp}:0-0-0-0:once`
|
|
237
216
|
break
|
|
238
217
|
case 'after-startup':
|
|
239
218
|
const suffixDelay =
|
|
@@ -244,7 +223,7 @@ const generateCronExpression = (
|
|
|
244
223
|
cronExpression = generateHourlyCronExpression(interval)
|
|
245
224
|
break
|
|
246
225
|
case 'day':
|
|
247
|
-
cronExpression =
|
|
226
|
+
cronExpression = generateDailyCronExpression(interval)
|
|
248
227
|
break
|
|
249
228
|
case 'week':
|
|
250
229
|
cronExpression = generateWeeklyCronExpression(interval)
|