Платформа 3V/Планировщик/Настройки аутентификации/Примеры работы задач в Планировщике: различия между версиями
(не показано 30 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
− | |||
'''Рассмотрим работу планировщика на примере задачи с запуском методики.''' <br> | '''Рассмотрим работу планировщика на примере задачи с запуском методики.''' <br> | ||
Для этого добавим методику расчета, которая будет записывать дату и время её запуска (используем выражение Now()), в методику так же добавим вычислимый параметр Сегодня (используем "defaultValue": "=Today()"). В данной методики каждый день будет изменяться параметр, отображая сегодняшний день, поэтому мы сможем посмотреть как по дням будет работать запуск задачи в планировщике и время запуска каждой задачи. <br> | Для этого добавим методику расчета, которая будет записывать дату и время её запуска (используем выражение Now()), в методику так же добавим вычислимый параметр Сегодня (используем "defaultValue": "=Today()"). В данной методики каждый день будет изменяться параметр, отображая сегодняшний день, поэтому мы сможем посмотреть как по дням будет работать запуск задачи в планировщике и время запуска каждой задачи. <br> | ||
== Однократный запуск методики == | == Однократный запуск методики == | ||
+ | [https://study.3v-cloud.com/navigator/#/home?parentId=1188 Пример работы задачи].<br> | ||
Для методик с однократным запуском используется период с '''"discriminator": "OnceDto"'''.<br> | Для методик с однократным запуском используется период с '''"discriminator": "OnceDto"'''.<br> | ||
'''Пример 1:''' Добавим в планировщик задачу с '''"discriminator": "OnceDto"'''. Данная задача запустит методику с идентификатором 1206 один раз в 09:01. <br> | '''Пример 1:''' Добавим в планировщик задачу с '''"discriminator": "OnceDto"'''. Данная задача запустит методику с идентификатором 1206 один раз в 09:01. <br> | ||
− | Дата создания задачи '' | + | Дата создания задачи ''19 января 2022'' после ''09:01'', значит методика должна запуститься ''20 января 2022'' в ''09:01''. |
<div class="toccolours mw-collapsible mw-collapsed" style="width:700px; overflow:auto;"> | <div class="toccolours mw-collapsible mw-collapsed" style="width:700px; overflow:auto;"> | ||
<div style="font-weight:bold;line-height:1.6;"> Пример описания задачи в формате JSON </div> | <div style="font-weight:bold;line-height:1.6;"> Пример описания задачи в формате JSON </div> | ||
Строка 39: | Строка 39: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</div></div> | </div></div> | ||
− | '''Пример 2:''' Добавим в планировщик задачу с '''"discriminator": "OnceDto"''' и указанием '''"days": [ ]''' четверг и суббота. Данная задача запустит методику с идентификатором 1190 один раз. Несмотря на то, что в '''"days": [ ]''' | + | Результат работы задачи: |
− | Задача была создана ''18 января 2022'' (вторник), значит ее запуск должен быть ''20 января 2022'' в ''11:00''. | + | [[Файл:Пример 1 (OnceDto,timeSpan).png|400px|слева]]<br clear="both" /><br> |
+ | '''Пример 2:''' Добавим в планировщик задачу с '''"discriminator": "OnceDto"''' и указанием '''"days": [ ]''' четверг и суббота. Данная задача запустит методику с идентификатором 1190 один раз. Несмотря на то, что в '''"days": [ ]''' указано 2 дня, период запуска данной методики указан как '''"discriminator": "OnceDto"''', поэтому методика запустится 1 раз в ближайший из указанных дней в 11:00.<br> | ||
+ | Задача была создана ''18 января 2022'' (вторник), значит ее запуск должен быть ''20 января 2022'' в ''11:00''. | ||
<div class="toccolours mw-collapsible mw-collapsed" style="width:700px; overflow:auto;"> | <div class="toccolours mw-collapsible mw-collapsed" style="width:700px; overflow:auto;"> | ||
<div style="font-weight:bold;line-height:1.6;"> Пример описания задачи в формате JSON </div> | <div style="font-weight:bold;line-height:1.6;"> Пример описания задачи в формате JSON </div> | ||
Строка 76: | Строка 78: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</div></div> | </div></div> | ||
− | + | Результат работы задачи: | |
− | [[Файл:запуск методики 1 раз.png| | + | [[Файл:запуск методики 1 раз.png|400px|слева]]<br clear="both" /><br> |
== Запуск методики ограниченный количеством раз == | == Запуск методики ограниченный количеством раз == | ||
− | + | Добавим в планировщик задачу с '''"discriminator": "ManyTimesDto"''', указанием '''"timeSpan": "23:00:00"''' и количеством запусков '''"times": 5'''. Данная задача будет 5 раз запускать методику с идентификатором 1248 каждые 23 часа. Первый раз запуск методики произойдет в 12:00.<br> | |
− | Задача была создана '' | + | Задача была создана ''19 января 2022'' до ''12:00'', значит ее ближайший запуск должен быть ''19 января 2022'' в ''12:00'' и далее она будет запускаться через 23 часа 5 раз, значит ее последний запуск должен быть 23 января 2022 в 8:00 <br> |
− | |||
<div class="toccolours mw-collapsible mw-collapsed" style="width:700px; overflow:auto;"> | <div class="toccolours mw-collapsible mw-collapsed" style="width:700px; overflow:auto;"> | ||
Строка 92: | Строка 93: | ||
"parameters": [], | "parameters": [], | ||
"type": "Post", | "type": "Post", | ||
− | "url": "http://engine/api/Calculation/ | + | "url": "http://engine/api/Calculation/1248", |
"headers": [], | "headers": [], | ||
"discriminator": "CalcWithParamsTaskUrlDto" | "discriminator": "CalcWithParamsTaskUrlDto" | ||
Строка 98: | Строка 99: | ||
"checkStateUrl": null, | "checkStateUrl": null, | ||
"schedule": { | "schedule": { | ||
− | " | + | "timeSpan": "23:00:00", |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
"period": { | "period": { | ||
− | "times": | + | "times": 5, |
"discriminator": "ManyTimesDto" | "discriminator": "ManyTimesDto" | ||
}, | }, | ||
"runTime": { | "runTime": { | ||
− | "hours": | + | "hours": 12, |
"minutes": 0 | "minutes": 0 | ||
}, | }, | ||
Строка 117: | Строка 112: | ||
"isEnable": true, | "isEnable": true, | ||
"authenticationSettingsId": 1, | "authenticationSettingsId": 1, | ||
− | "id": | + | "id": 44, |
− | "name": " | + | "name": "5 раз каждые 23 часа", |
"discriminator": "CalcScheduledTaskDto" | "discriminator": "CalcScheduledTaskDto" | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</div></div> | </div></div> | ||
− | + | Результат работы задачи: | |
− | Задача была создана ''18 января 2022'' (вторник) | + | [[Файл:запуск 5 раз.png|400px|слева]]<br clear="both" /><br> |
+ | |||
+ | == Запуск методики каждый день == | ||
+ | [https://study.3v-cloud.com/navigator/#/home?parentId=1191 Результат работы задачи]. <br> | ||
+ | |||
+ | Добавим в планировщик задачу с '''"discriminator": "InfiniteTimesDto"''' и указанием '''"days": [ ]''' все дни недели кроме воскресенья. Данная задача будет каждый день кроме воскресенья запускать методику с идентификатором 1192. Первый раз запуск методики произойдет в ближайший из указанных в задаче дней в 12:30.<br> | ||
+ | Задача была создана ''18 января 2022'' (вторник) после ''12:30'', значит ее ближайший запуск должен быть ''19 января 2022'' в ''12:30''.<br> | ||
<div class="toccolours mw-collapsible mw-collapsed" style="width:700px; overflow:auto;"> | <div class="toccolours mw-collapsible mw-collapsed" style="width:700px; overflow:auto;"> | ||
Строка 134: | Строка 135: | ||
"parameters": [], | "parameters": [], | ||
"type": "Post", | "type": "Post", | ||
− | "url": "http://engine/api/Calculation/ | + | "url": "http://engine/api/Calculation/1192", |
"headers": [], | "headers": [], | ||
"discriminator": "CalcWithParamsTaskUrlDto" | "discriminator": "CalcWithParamsTaskUrlDto" | ||
Строка 140: | Строка 141: | ||
"checkStateUrl": null, | "checkStateUrl": null, | ||
"schedule": { | "schedule": { | ||
− | " | + | "days": [ |
+ | "Tuesday", | ||
+ | "Wednesday", | ||
+ | "Thursday", | ||
+ | "Friday", | ||
+ | "Saturday", | ||
+ | "Monday" | ||
+ | ], | ||
"period": { | "period": { | ||
− | + | "discriminator": "InfiniteTimesDto" | |
− | "discriminator": " | ||
}, | }, | ||
"runTime": { | "runTime": { | ||
Строка 153: | Строка 160: | ||
"isEnable": true, | "isEnable": true, | ||
"authenticationSettingsId": 1, | "authenticationSettingsId": 1, | ||
− | "id": | + | "id": 45, |
− | "name": " | + | "name": "запуск методики каждый день кроме воскресенья", |
"discriminator": "CalcScheduledTaskDto" | "discriminator": "CalcScheduledTaskDto" | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</div></div> | </div></div> | ||
+ | Результат работы задачи: | ||
+ | |||
+ | [[Файл:запуск по дням.png|400px|слева]]<br clear="both" /><br> | ||
+ | |||
+ | == Запуск методики по таймеру == | ||
+ | [https://study.3v-cloud.com/navigator/#/home?parentId=1187 Результат работы задачи]. <br> | ||
+ | Добавим в планировщик задачу с '''"discriminator": "InfiniteTimesDto"''' и указанием '''"timeSpan": "23:00:00"''' . Данная задача будет запускать методику с идентификатором 1185 каждые 23 часа. Первый раз запуск в 10:00.<br> | ||
+ | Задача была создана 19 января 2022 после 4:00, значит ее ближайший запуск должен быть 20 января 2022 в 4:00.<br> | ||
− | |||
− | |||
<div class="toccolours mw-collapsible mw-collapsed" style="width:700px; overflow:auto;"> | <div class="toccolours mw-collapsible mw-collapsed" style="width:700px; overflow:auto;"> | ||
<div style="font-weight:bold;line-height:1.6;"> Пример описания задачи в формате JSON </div> | <div style="font-weight:bold;line-height:1.6;"> Пример описания задачи в формате JSON </div> | ||
Строка 170: | Строка 183: | ||
"parameters": [], | "parameters": [], | ||
"type": "Post", | "type": "Post", | ||
− | "url": "http://engine/api/Calculation/ | + | "url": "http://engine/api/Calculation/1185", |
"headers": [], | "headers": [], | ||
"discriminator": "CalcWithParamsTaskUrlDto" | "discriminator": "CalcWithParamsTaskUrlDto" | ||
Строка 176: | Строка 189: | ||
"checkStateUrl": null, | "checkStateUrl": null, | ||
"schedule": { | "schedule": { | ||
− | " | + | "timeSpan": "23:00:00", |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
"period": { | "period": { | ||
"discriminator": "InfiniteTimesDto" | "discriminator": "InfiniteTimesDto" | ||
}, | }, | ||
"runTime": { | "runTime": { | ||
− | "hours": | + | "hours": 4, |
"minutes": 0 | "minutes": 0 | ||
}, | }, | ||
− | "discriminator": " | + | "discriminator": "TimerScheduleDto" |
}, | }, | ||
"isEnable": true, | "isEnable": true, | ||
"authenticationSettingsId": 1, | "authenticationSettingsId": 1, | ||
− | "id": | + | "id": 46, |
− | "name": " | + | "name": "Запуск каждые 23 часа", |
"discriminator": "CalcScheduledTaskDto" | "discriminator": "CalcScheduledTaskDto" | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</div></div> | </div></div> | ||
− | == | + | [[Файл:запуск по таймеру.png|400px|слева]]<br clear="both" /><br> |
− | [https://study.3v-cloud.com/navigator/#/home?parentId= | + | |
+ | == Запуск методики в заданном диапазоне дат == | ||
+ | [https://study.3v-cloud.com/navigator/#/home?parentId=1197 Результат работы задачи]. <br> | ||
+ | |||
+ | '''Пример 1:''' Добавим в планировщик задачу с '''"discriminator": "DatePeriodDto"''', указанием '''"startDate"''' и '''"endDate"''' (18.01.2022 - 25.01.2022) и указанием '''"days": [ ]''' понедельник, среда и пятница. Данная задача будет запускать методику с идентификатором 1198 каждый понедельник, среду или пятницу в 10:30 с 18.01.2022 по 25.01.2022. Первый раз запуск задачи будет в ближайший указанный в задачи день в 10:30. | ||
+ | Задача была создана 18 января 2022 (вторник) до 10:00, значит ее ближайший запуск должен быть 19 января 2022 (среда) в 10:30, затем 21 января 2022 (пятница) в 10:30 и последний запуск 24 января 2022 (понедельник).<br> | ||
+ | |||
<div class="toccolours mw-collapsible mw-collapsed" style="width:700px; overflow:auto;"> | <div class="toccolours mw-collapsible mw-collapsed" style="width:700px; overflow:auto;"> | ||
<div style="font-weight:bold;line-height:1.6;"> Пример описания задачи в формате JSON </div> | <div style="font-weight:bold;line-height:1.6;"> Пример описания задачи в формате JSON </div> | ||
Строка 212: | Строка 223: | ||
"parameters": [], | "parameters": [], | ||
"type": "Post", | "type": "Post", | ||
− | "url": "http://engine/api/Calculation/ | + | "url": "http://engine/api/Calculation/1198", |
"headers": [], | "headers": [], | ||
"discriminator": "CalcWithParamsTaskUrlDto" | "discriminator": "CalcWithParamsTaskUrlDto" | ||
Строка 218: | Строка 229: | ||
"checkStateUrl": null, | "checkStateUrl": null, | ||
"schedule": { | "schedule": { | ||
− | " | + | "days": [ |
+ | "Wednesday", | ||
+ | "Friday", | ||
+ | "Monday" | ||
+ | ], | ||
"period": { | "period": { | ||
− | "discriminator": " | + | "startDate": "2022-01-18T00:00:00Z", |
+ | "endDate": "2022-01-25T00:00:00Z", | ||
+ | "discriminator": "DatePeriodDto" | ||
}, | }, | ||
"runTime": { | "runTime": { | ||
"hours": 10, | "hours": 10, | ||
− | "minutes": | + | "minutes": 30 |
}, | }, | ||
− | "discriminator": " | + | "discriminator": "DaysScheduleDto" |
}, | }, | ||
"isEnable": true, | "isEnable": true, | ||
"authenticationSettingsId": 1, | "authenticationSettingsId": 1, | ||
− | "id": | + | "id": 47, |
− | "name": "Каждые | + | "name": "Каждые день до 25.01", |
"discriminator": "CalcScheduledTaskDto" | "discriminator": "CalcScheduledTaskDto" | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</div></div> | </div></div> | ||
− | = | + | Результат работы задачи: |
− | + | [[Файл:в периоде по дням.png|400px|слева]]<br clear="both" /><br> | |
+ | |||
+ | '''Пример 2:''' Добавим в планировщик задачу с '''"discriminator": "DatePeriodDto"''', указанием '''"startDate"''' и '''"endDate"''' (18.01.2022 - 25.01.2022) и указанием '''"timeSpan": "23:00:00"'''. Данная задача будет запускать методику с идентификатором 1250 каждые 23 часа с 18.01.2022 по 25.01.2022. Первый раз запуск задачи будет в 11:30. | ||
+ | Задача была создана 19 января 2022 до 14:30, значит ее ближайший запуск должен быть 19 января 2022 в 14:30, а последний 24 января 2022 в 9:30. | ||
+ | |||
<div class="toccolours mw-collapsible mw-collapsed" style="width:700px; overflow:auto;"> | <div class="toccolours mw-collapsible mw-collapsed" style="width:700px; overflow:auto;"> | ||
<div style="font-weight:bold;line-height:1.6;"> Пример описания задачи в формате JSON </div> | <div style="font-weight:bold;line-height:1.6;"> Пример описания задачи в формате JSON </div> | ||
Строка 246: | Строка 267: | ||
"parameters": [], | "parameters": [], | ||
"type": "Post", | "type": "Post", | ||
− | "url": "http://engine/api/Calculation/ | + | "url": "http://engine/api/Calculation/1250", |
"headers": [], | "headers": [], | ||
"discriminator": "CalcWithParamsTaskUrlDto" | "discriminator": "CalcWithParamsTaskUrlDto" | ||
Строка 252: | Строка 273: | ||
"checkStateUrl": null, | "checkStateUrl": null, | ||
"schedule": { | "schedule": { | ||
− | " | + | "timeSpan": "23:00:00", |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
"period": { | "period": { | ||
− | "startDate": "2022-01- | + | "startDate": "2022-01-18T00:00:00Z", |
− | "endDate": "2022- | + | "endDate": "2022-01-25T00:00:00Z", |
"discriminator": "DatePeriodDto" | "discriminator": "DatePeriodDto" | ||
}, | }, | ||
"runTime": { | "runTime": { | ||
− | "hours": | + | "hours": 14, |
− | "minutes": | + | "minutes": 30 |
}, | }, | ||
− | "discriminator": " | + | "discriminator": "TimerScheduleDto" |
}, | }, | ||
"isEnable": true, | "isEnable": true, | ||
"authenticationSettingsId": 1, | "authenticationSettingsId": 1, | ||
− | "id": | + | "id": 48, |
− | "name": "Каждые | + | "name": "Каждые 23 часа до 25.01", |
"discriminator": "CalcScheduledTaskDto" | "discriminator": "CalcScheduledTaskDto" | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</div></div> | </div></div> | ||
+ | Результат работы задачи: | ||
+ | [[Файл:в периоде.png|400px|слева]]<br clear="both" /><br> |
Текущая версия на 05:58, 7 февраля 2022
Рассмотрим работу планировщика на примере задачи с запуском методики.
Для этого добавим методику расчета, которая будет записывать дату и время её запуска (используем выражение Now()), в методику так же добавим вычислимый параметр Сегодня (используем "defaultValue": "=Today()"). В данной методики каждый день будет изменяться параметр, отображая сегодняшний день, поэтому мы сможем посмотреть как по дням будет работать запуск задачи в планировщике и время запуска каждой задачи.
Содержание
Однократный запуск методики
Пример работы задачи.
Для методик с однократным запуском используется период с "discriminator": "OnceDto".
Пример 1: Добавим в планировщик задачу с "discriminator": "OnceDto". Данная задача запустит методику с идентификатором 1206 один раз в 09:01.
Дата создания задачи 19 января 2022 после 09:01, значит методика должна запуститься 20 января 2022 в 09:01.
1 {
2 "runUrl": {
3 "parameters": [],
4 "type": "Post",
5 "url": "http://engine/api/Calculation/1206",
6 "headers": [],
7 "discriminator": "CalcWithParamsTaskUrlDto"
8 },
9 "checkStateUrl": null,
10 "schedule": {
11 "timeSpan": "00:00:00",
12 "period": {
13 "discriminator": "OnceDto"
14 },
15 "runTime": {
16 "hours": 9,
17 "minutes": 1
18 },
19 "discriminator": "TimerScheduleDto"
20 },
21 "isEnable": true,
22 "authenticationSettingsId": 1,
23 "id": 41,
24 "name": "Запуск один раз",
25 "discriminator": "CalcScheduledTaskDto"
26 }
Результат работы задачи:
Пример 2: Добавим в планировщик задачу с "discriminator": "OnceDto" и указанием "days": [ ] четверг и суббота. Данная задача запустит методику с идентификатором 1190 один раз. Несмотря на то, что в "days": [ ] указано 2 дня, период запуска данной методики указан как "discriminator": "OnceDto", поэтому методика запустится 1 раз в ближайший из указанных дней в 11:00.
Задача была создана 18 января 2022 (вторник), значит ее запуск должен быть 20 января 2022 в 11:00.
1 {
2 "runUrl": {
3 "parameters": [],
4 "type": "Post",
5 "url": "http://engine/api/Calculation/1190",
6 "headers": [],
7 "discriminator": "CalcWithParamsTaskUrlDto"
8 },
9 "checkStateUrl": null,
10 "schedule": {
11 "days": [
12 "Thursday",
13 "Saturday"
14 ],
15 "period": {
16 "discriminator": "OnceDto"
17 },
18 "runTime": {
19 "hours": 11,
20 "minutes": 0
21 },
22 "discriminator": "DaysScheduleDto"
23 },
24 "isEnable": true,
25 "authenticationSettingsId": 1,
26 "id": 42,
27 "name": "Запуск один раз в четверг или субботу",
28 "discriminator": "CalcScheduledTaskDto"
29 }
Результат работы задачи:
Запуск методики ограниченный количеством раз
Добавим в планировщик задачу с "discriminator": "ManyTimesDto", указанием "timeSpan": "23:00:00" и количеством запусков "times": 5. Данная задача будет 5 раз запускать методику с идентификатором 1248 каждые 23 часа. Первый раз запуск методики произойдет в 12:00.
Задача была создана 19 января 2022 до 12:00, значит ее ближайший запуск должен быть 19 января 2022 в 12:00 и далее она будет запускаться через 23 часа 5 раз, значит ее последний запуск должен быть 23 января 2022 в 8:00
1 {
2 "runUrl": {
3 "parameters": [],
4 "type": "Post",
5 "url": "http://engine/api/Calculation/1248",
6 "headers": [],
7 "discriminator": "CalcWithParamsTaskUrlDto"
8 },
9 "checkStateUrl": null,
10 "schedule": {
11 "timeSpan": "23:00:00",
12 "period": {
13 "times": 5,
14 "discriminator": "ManyTimesDto"
15 },
16 "runTime": {
17 "hours": 12,
18 "minutes": 0
19 },
20 "discriminator": "DaysScheduleDto"
21 },
22 "isEnable": true,
23 "authenticationSettingsId": 1,
24 "id": 44,
25 "name": "5 раз каждые 23 часа",
26 "discriminator": "CalcScheduledTaskDto"
27 }
Результат работы задачи:
Запуск методики каждый день
Добавим в планировщик задачу с "discriminator": "InfiniteTimesDto" и указанием "days": [ ] все дни недели кроме воскресенья. Данная задача будет каждый день кроме воскресенья запускать методику с идентификатором 1192. Первый раз запуск методики произойдет в ближайший из указанных в задаче дней в 12:30.
Задача была создана 18 января 2022 (вторник) после 12:30, значит ее ближайший запуск должен быть 19 января 2022 в 12:30.
1 {
2 "runUrl": {
3 "parameters": [],
4 "type": "Post",
5 "url": "http://engine/api/Calculation/1192",
6 "headers": [],
7 "discriminator": "CalcWithParamsTaskUrlDto"
8 },
9 "checkStateUrl": null,
10 "schedule": {
11 "days": [
12 "Tuesday",
13 "Wednesday",
14 "Thursday",
15 "Friday",
16 "Saturday",
17 "Monday"
18 ],
19 "period": {
20 "discriminator": "InfiniteTimesDto"
21 },
22 "runTime": {
23 "hours": 12,
24 "minutes": 0
25 },
26 "discriminator": "DaysScheduleDto"
27 },
28 "isEnable": true,
29 "authenticationSettingsId": 1,
30 "id": 45,
31 "name": "запуск методики каждый день кроме воскресенья",
32 "discriminator": "CalcScheduledTaskDto"
33 }
Результат работы задачи:
Запуск методики по таймеру
Результат работы задачи.
Добавим в планировщик задачу с "discriminator": "InfiniteTimesDto" и указанием "timeSpan": "23:00:00" . Данная задача будет запускать методику с идентификатором 1185 каждые 23 часа. Первый раз запуск в 10:00.
Задача была создана 19 января 2022 после 4:00, значит ее ближайший запуск должен быть 20 января 2022 в 4:00.
1 {
2 "runUrl": {
3 "parameters": [],
4 "type": "Post",
5 "url": "http://engine/api/Calculation/1185",
6 "headers": [],
7 "discriminator": "CalcWithParamsTaskUrlDto"
8 },
9 "checkStateUrl": null,
10 "schedule": {
11 "timeSpan": "23:00:00",
12 "period": {
13 "discriminator": "InfiniteTimesDto"
14 },
15 "runTime": {
16 "hours": 4,
17 "minutes": 0
18 },
19 "discriminator": "TimerScheduleDto"
20 },
21 "isEnable": true,
22 "authenticationSettingsId": 1,
23 "id": 46,
24 "name": "Запуск каждые 23 часа",
25 "discriminator": "CalcScheduledTaskDto"
26 }
Запуск методики в заданном диапазоне дат
Пример 1: Добавим в планировщик задачу с "discriminator": "DatePeriodDto", указанием "startDate" и "endDate" (18.01.2022 - 25.01.2022) и указанием "days": [ ] понедельник, среда и пятница. Данная задача будет запускать методику с идентификатором 1198 каждый понедельник, среду или пятницу в 10:30 с 18.01.2022 по 25.01.2022. Первый раз запуск задачи будет в ближайший указанный в задачи день в 10:30.
Задача была создана 18 января 2022 (вторник) до 10:00, значит ее ближайший запуск должен быть 19 января 2022 (среда) в 10:30, затем 21 января 2022 (пятница) в 10:30 и последний запуск 24 января 2022 (понедельник).
1 {
2 "runUrl": {
3 "parameters": [],
4 "type": "Post",
5 "url": "http://engine/api/Calculation/1198",
6 "headers": [],
7 "discriminator": "CalcWithParamsTaskUrlDto"
8 },
9 "checkStateUrl": null,
10 "schedule": {
11 "days": [
12 "Wednesday",
13 "Friday",
14 "Monday"
15 ],
16 "period": {
17 "startDate": "2022-01-18T00:00:00Z",
18 "endDate": "2022-01-25T00:00:00Z",
19 "discriminator": "DatePeriodDto"
20 },
21 "runTime": {
22 "hours": 10,
23 "minutes": 30
24 },
25 "discriminator": "DaysScheduleDto"
26 },
27 "isEnable": true,
28 "authenticationSettingsId": 1,
29 "id": 47,
30 "name": "Каждые день до 25.01",
31 "discriminator": "CalcScheduledTaskDto"
32 }
Результат работы задачи:
Пример 2: Добавим в планировщик задачу с "discriminator": "DatePeriodDto", указанием "startDate" и "endDate" (18.01.2022 - 25.01.2022) и указанием "timeSpan": "23:00:00". Данная задача будет запускать методику с идентификатором 1250 каждые 23 часа с 18.01.2022 по 25.01.2022. Первый раз запуск задачи будет в 11:30. Задача была создана 19 января 2022 до 14:30, значит ее ближайший запуск должен быть 19 января 2022 в 14:30, а последний 24 января 2022 в 9:30.
1 {
2 "runUrl": {
3 "parameters": [],
4 "type": "Post",
5 "url": "http://engine/api/Calculation/1250",
6 "headers": [],
7 "discriminator": "CalcWithParamsTaskUrlDto"
8 },
9 "checkStateUrl": null,
10 "schedule": {
11 "timeSpan": "23:00:00",
12 "period": {
13 "startDate": "2022-01-18T00:00:00Z",
14 "endDate": "2022-01-25T00:00:00Z",
15 "discriminator": "DatePeriodDto"
16 },
17 "runTime": {
18 "hours": 14,
19 "minutes": 30
20 },
21 "discriminator": "TimerScheduleDto"
22 },
23 "isEnable": true,
24 "authenticationSettingsId": 1,
25 "id": 48,
26 "name": "Каждые 23 часа до 25.01",
27 "discriminator": "CalcScheduledTaskDto"
28 }
Результат работы задачи: