Платформа 3V/Планировщик/Настройки аутентификации/Примеры работы задач в Планировщике: различия между версиями

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
 
(не показано 29 промежуточных версий этого же участника)
Строка 1: Строка 1:
'''!Страница находится в разработке'''<br>
 
 
'''Рассмотрим работу планировщика на примере задачи с запуском методики.''' <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>
Дата создания задачи ''18 января 2022'' до ''09:01'', значит методика должна запуститься 18 января 2022 в 09:01.
+
Дата создания задачи ''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": [ ]''' указаны все дни, период запуска данной методики указан как '''"discriminator": "OnceDto"''', поэтому методика запустится 1 раз в ближайший из указанных дней в 11:00.<br>
+
Результат работы задачи:
Задача была создана ''18 января 2022'' (вторник), значит ее запуск должен быть ''20 января 2022'' в ''11:00''. [https://study.3v-cloud.com/navigator/#/home?parentId=1188 Результат работы задачи].<br>
+
[[Файл:Пример 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|700px|слева]]<br clear="both" /><br>
+
[[Файл:запуск методики 1 раз.png|400px|слева]]<br clear="both" /><br>
  
 
== Запуск методики ограниченный количеством раз ==  
 
== Запуск методики ограниченный количеством раз ==  
'''Пример 1:''' Добавим в планировщик задачу с '''"discriminator": "ManyTimesDto"''', указанием '''"days": [ ]''' рабочие дни (кроме субботы и воскресенья) и количеством запусков '''"times": 10'''. Данная задача будет 10 раз запускать методику с идентификатором 1195 в рабочие дни. Первый раз запуск методики произойдет в ближайший из указанных в задаче рабочих дней в 13:00.<br>
+
Добавим в планировщик задачу с '''"discriminator": "ManyTimesDto"''', указанием '''"timeSpan": "23:00:00"''' и количеством запусков '''"times": 5'''. Данная задача будет 5 раз запускать методику с идентификатором 1248 каждые 23 часа. Первый раз запуск методики произойдет в 12:00.<br>
Задача была создана ''18 января 2022'' (вторник) до ''13:00'', значит ее ближайший запуск должен быть ''18 января 2022'' в ''13:00''.<br>
+
Задача была создана ''19 января 2022'' до ''12:00'', значит ее ближайший запуск должен быть ''19 января 2022'' в ''12:00'' и далее она будет запускаться через 23 часа 5 раз, значит ее последний запуск должен быть 23 января 2022 в 8:00 <br>
[https://study.3v-cloud.com/navigator/#/home?parentId=1194 Результат работы задачи]. <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/1195",
+
       "url": "http://engine/api/Calculation/1248",
 
       "headers": [],
 
       "headers": [],
 
       "discriminator": "CalcWithParamsTaskUrlDto"
 
       "discriminator": "CalcWithParamsTaskUrlDto"
Строка 98: Строка 99:
 
     "checkStateUrl": null,
 
     "checkStateUrl": null,
 
     "schedule": {
 
     "schedule": {
       "days": [
+
       "timeSpan": "23:00:00",
        "Tuesday",
 
        "Wednesday",
 
        "Thursday",
 
        "Friday",
 
        "Monday"
 
      ],
 
 
       "period": {
 
       "period": {
         "times": 10,
+
         "times": 5,
 
         "discriminator": "ManyTimesDto"
 
         "discriminator": "ManyTimesDto"
 
       },
 
       },
 
       "runTime": {
 
       "runTime": {
         "hours": 13,
+
         "hours": 12,
 
         "minutes": 0
 
         "minutes": 0
 
       },
 
       },
Строка 117: Строка 112:
 
     "isEnable": true,
 
     "isEnable": true,
 
     "authenticationSettingsId": 1,
 
     "authenticationSettingsId": 1,
     "id": 43,
+
     "id": 44,
     "name": "По будням 10 раз",
+
     "name": "5 раз каждые 23 часа",
 
     "discriminator": "CalcScheduledTaskDto"
 
     "discriminator": "CalcScheduledTaskDto"
 
   }
 
   }
 
</syntaxhighlight>
 
</syntaxhighlight>
 
</div></div>
 
</div></div>
'''Пример 2:'''Добавим в планировщик задачу с '''"discriminator": "ManyTimesDto"''', указанием '''"timeSpan": "23:00:00"''' и количеством запусков '''"times": 5'''. Данная задача будет 5 раз запускать методику с идентификатором 1248 каждые 23 часа. Первый раз запуск методики произойдет в ближайший из указанных в задаче рабочих дней в 13:00.<br>
+
Результат работы задачи:
Задача была создана ''18 января 2022'' (вторник) до ''13:00'', значит ее ближайший запуск должен быть ''18 января 2022'' в ''13:00''.<br>
+
[[Файл:запуск 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/1248",
+
       "url": "http://engine/api/Calculation/1192",
 
       "headers": [],
 
       "headers": [],
 
       "discriminator": "CalcWithParamsTaskUrlDto"
 
       "discriminator": "CalcWithParamsTaskUrlDto"
Строка 140: Строка 141:
 
     "checkStateUrl": null,
 
     "checkStateUrl": null,
 
     "schedule": {
 
     "schedule": {
       "timeSpan": "23:00:00",
+
       "days": [
 +
        "Tuesday",
 +
        "Wednesday",
 +
        "Thursday",
 +
        "Friday",
 +
        "Saturday",
 +
        "Monday"
 +
      ],
 
       "period": {
 
       "period": {
        "times": 5,
+
         "discriminator": "InfiniteTimesDto"
         "discriminator": "ManyTimesDto"
 
 
       },
 
       },
 
       "runTime": {
 
       "runTime": {
Строка 153: Строка 160:
 
     "isEnable": true,
 
     "isEnable": true,
 
     "authenticationSettingsId": 1,
 
     "authenticationSettingsId": 1,
     "id": 43,
+
     "id": 45,
     "name": "5 раз каждые 23 часа",
+
     "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>
  
== Записываем каждый день по дням ==
 
[https://study.3v-cloud.com/navigator/#/home?parentId=1191 Результат работы задачи].
 
 
<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/1192",
+
       "url": "http://engine/api/Calculation/1185",
 
       "headers": [],
 
       "headers": [],
 
       "discriminator": "CalcWithParamsTaskUrlDto"
 
       "discriminator": "CalcWithParamsTaskUrlDto"
Строка 176: Строка 189:
 
     "checkStateUrl": null,
 
     "checkStateUrl": null,
 
     "schedule": {
 
     "schedule": {
       "days": [
+
       "timeSpan": "23:00:00",
        "Tuesday",
 
        "Wednesday",
 
        "Thursday",
 
        "Friday",
 
        "Saturday",
 
        "Monday",
 
        "Sunday"
 
      ],
 
 
       "period": {
 
       "period": {
 
         "discriminator": "InfiniteTimesDto"
 
         "discriminator": "InfiniteTimesDto"
 
       },
 
       },
 
       "runTime": {
 
       "runTime": {
         "hours": 12,
+
         "hours": 4,
 
         "minutes": 0
 
         "minutes": 0
 
       },
 
       },
       "discriminator": "DaysScheduleDto"
+
       "discriminator": "TimerScheduleDto"
 
     },
 
     },
 
     "isEnable": true,
 
     "isEnable": true,
 
     "authenticationSettingsId": 1,
 
     "authenticationSettingsId": 1,
     "id": 6,
+
     "id": 46,
     "name": "Каждые ДЕНЬ",
+
     "name": "Запуск каждые 23 часа",
 
     "discriminator": "CalcScheduledTaskDto"
 
     "discriminator": "CalcScheduledTaskDto"
 
   }
 
   }
 
</syntaxhighlight>
 
</syntaxhighlight>
 
</div></div>
 
</div></div>
== Записываем с промежутком 23 часа ==
+
[[Файл:запуск по таймеру.png|400px|слева]]<br clear="both" /><br>
[https://study.3v-cloud.com/navigator/#/home?parentId=1187 Результат работы задачи].  
+
 
 +
== Запуск методики в заданном диапазоне дат ==  
 +
[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/1185",
+
       "url": "http://engine/api/Calculation/1198",
 
       "headers": [],
 
       "headers": [],
 
       "discriminator": "CalcWithParamsTaskUrlDto"
 
       "discriminator": "CalcWithParamsTaskUrlDto"
Строка 218: Строка 229:
 
     "checkStateUrl": null,
 
     "checkStateUrl": null,
 
     "schedule": {
 
     "schedule": {
       "timeSpan": "23:00:00",
+
       "days": [
 +
        "Wednesday",
 +
        "Friday",
 +
        "Monday"
 +
      ],
 
       "period": {
 
       "period": {
         "discriminator": "InfiniteTimesDto"
+
        "startDate": "2022-01-18T00:00:00Z",
 +
        "endDate": "2022-01-25T00:00:00Z",
 +
         "discriminator": "DatePeriodDto"
 
       },
 
       },
 
       "runTime": {
 
       "runTime": {
 
         "hours": 10,
 
         "hours": 10,
         "minutes": 0
+
         "minutes": 30
 
       },
 
       },
       "discriminator": "TimerScheduleDto"
+
       "discriminator": "DaysScheduleDto"
 
     },
 
     },
 
     "isEnable": true,
 
     "isEnable": true,
 
     "authenticationSettingsId": 1,
 
     "authenticationSettingsId": 1,
     "id": 4,
+
     "id": 47,
     "name": "Каждые 23 часа",
+
     "name": "Каждые день до 25.01",
 
     "discriminator": "CalcScheduledTaskDto"
 
     "discriminator": "CalcScheduledTaskDto"
 
   }
 
   }
 
</syntaxhighlight>
 
</syntaxhighlight>
 
</div></div>
 
</div></div>
== Записываем дату с 15.01-16.02 ==
+
Результат работы задачи:
[https://study.3v-cloud.com/navigator/#/home?parentId=1197 Результат работы задачи].  
+
[[Файл:в периоде по дням.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/1198",
+
       "url": "http://engine/api/Calculation/1250",
 
       "headers": [],
 
       "headers": [],
 
       "discriminator": "CalcWithParamsTaskUrlDto"
 
       "discriminator": "CalcWithParamsTaskUrlDto"
Строка 252: Строка 273:
 
     "checkStateUrl": null,
 
     "checkStateUrl": null,
 
     "schedule": {
 
     "schedule": {
       "days": [
+
       "timeSpan": "23:00:00",
        "Tuesday",
 
        "Wednesday",
 
        "Thursday",
 
        "Friday",
 
        "Saturday",
 
        "Monday",
 
        "Sunday"
 
      ],
 
 
       "period": {
 
       "period": {
         "startDate": "2022-01-15T00:00:00Z",
+
         "startDate": "2022-01-18T00:00:00Z",
         "endDate": "2022-02-16T00:00:00Z",
+
         "endDate": "2022-01-25T00:00:00Z",
 
         "discriminator": "DatePeriodDto"
 
         "discriminator": "DatePeriodDto"
 
       },
 
       },
 
       "runTime": {
 
       "runTime": {
         "hours": 13,
+
         "hours": 14,
         "minutes": 0
+
         "minutes": 30
 
       },
 
       },
       "discriminator": "DaysScheduleDto"
+
       "discriminator": "TimerScheduleDto"
 
     },
 
     },
 
     "isEnable": true,
 
     "isEnable": true,
 
     "authenticationSettingsId": 1,
 
     "authenticationSettingsId": 1,
     "id": 8,
+
     "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.

Пример описания задачи в формате JSON
 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   }

Результат работы задачи:

Пример 1 (OnceDto,timeSpan).png



Пример 2: Добавим в планировщик задачу с "discriminator": "OnceDto" и указанием "days": [ ] четверг и суббота. Данная задача запустит методику с идентификатором 1190 один раз. Несмотря на то, что в "days": [ ] указано 2 дня, период запуска данной методики указан как "discriminator": "OnceDto", поэтому методика запустится 1 раз в ближайший из указанных дней в 11:00.
Задача была создана 18 января 2022 (вторник), значит ее запуск должен быть 20 января 2022 в 11:00.

Пример описания задачи в формате JSON
 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   }

Результат работы задачи:

запуск методики 1 раз.png



Запуск методики ограниченный количеством раз

Добавим в планировщик задачу с "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

Пример описания задачи в формате JSON
 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   }

Результат работы задачи:

запуск 5 раз.png



Запуск методики каждый день

Результат работы задачи.

Добавим в планировщик задачу с "discriminator": "InfiniteTimesDto" и указанием "days": [ ] все дни недели кроме воскресенья. Данная задача будет каждый день кроме воскресенья запускать методику с идентификатором 1192. Первый раз запуск методики произойдет в ближайший из указанных в задаче дней в 12:30.
Задача была создана 18 января 2022 (вторник) после 12:30, значит ее ближайший запуск должен быть 19 января 2022 в 12:30.

Пример описания задачи в формате JSON
 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   }

Результат работы задачи:

запуск по дням.png



Запуск методики по таймеру

Результат работы задачи.
Добавим в планировщик задачу с "discriminator": "InfiniteTimesDto" и указанием "timeSpan": "23:00:00" . Данная задача будет запускать методику с идентификатором 1185 каждые 23 часа. Первый раз запуск в 10:00.
Задача была создана 19 января 2022 после 4:00, значит ее ближайший запуск должен быть 20 января 2022 в 4:00.

Пример описания задачи в формате JSON
 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   }
запуск по таймеру.png



Запуск методики в заданном диапазоне дат

Результат работы задачи.

Пример 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 (понедельник).

Пример описания задачи в формате JSON
 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   }

Результат работы задачи:

в периоде по дням.png



Пример 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.

Пример описания задачи в формате JSON
 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   }

Результат работы задачи:

в периоде.png