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

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
Строка 245: Строка 245:
  
 
== Запуск методики в заданном диапазоне дат ==  
 
== Запуск методики в заданном диапазоне дат ==  
Добавим в планировщик задачу с '''"discriminator": "DatePeriodDto"''', указанием '''"startDate"''' и '''"endDate"''' (18.01.2022 - 25.01.2022) и указанием '''"days": [ ]''' понедельник, среда и пятница. Данная задача будет запускать методику с идентификатором 1198 каждый понедельник, среду или пятницу в 10:30 с 18.01.2022 по 25.01.2022. Первый раз запуск в 10:30.
+
Добавим в планировщик задачу с '''"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, значит ее ближайший запуск должен быть 18 января 2022 в 10:00.
+
Задача была создана 18 января 2022 (вторник) до 10:00, значит ее ближайший запуск должен быть 19 января 2022 (среда) в 10:30.
 
[https://study.3v-cloud.com/navigator/#/home?parentId=1197 Результат работы задачи].  
 
[https://study.3v-cloud.com/navigator/#/home?parentId=1197 Результат работы задачи].  
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:700px; overflow:auto;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:700px; overflow:auto;">
Строка 263: Строка 263:
 
     "schedule": {
 
     "schedule": {
 
       "days": [
 
       "days": [
        "Tuesday",
 
 
         "Wednesday",
 
         "Wednesday",
        "Thursday",
 
 
         "Friday",
 
         "Friday",
        "Saturday",
+
         "Monday"
         "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": 10,
         "minutes": 0
+
         "minutes": 30
 
       },
 
       },
 
       "discriminator": "DaysScheduleDto"
 
       "discriminator": "DaysScheduleDto"
Строка 284: Строка 280:
 
     "isEnable": true,
 
     "isEnable": true,
 
     "authenticationSettingsId": 1,
 
     "authenticationSettingsId": 1,
     "id": 8,
+
     "id": 47,
     "name": "Каждые ДЕНЬ",
+
     "name": "Каждые день до 25.01",
 
     "discriminator": "CalcScheduledTaskDto"
 
     "discriminator": "CalcScheduledTaskDto"
 
   }
 
   }
 
</syntaxhighlight>
 
</syntaxhighlight>
 
</div></div>
 
</div></div>

Версия 08:50, 18 января 2022

!Страница находится в разработке
Рассмотрим работу планировщика на примере задачи с запуском методики.
Для этого добавим методику расчета, которая будет записывать дату и время её запуска (используем выражение Now()), в методику так же добавим вычислимый параметр Сегодня (используем "defaultValue": "=Today()"). В данной методики каждый день будет изменяться параметр, отображая сегодняшний день, поэтому мы сможем посмотреть как по дням будет работать запуск задачи в планировщике и время запуска каждой задачи.

Однократный запуск методики

Для методик с однократным запуском используется период с "discriminator": "OnceDto".
Пример 1: Добавим в планировщик задачу с "discriminator": "OnceDto". Данная задача запустит методику с идентификатором 1206 один раз в 09:01.
Дата создания задачи 18 января 2022 до 09:01, значит методика должна запуститься 18 января 2022 в 09:01.

Пример описания задачи в формате JSON

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

Пример описания задачи в формате JSON

!Изменить скрин по новой задачи

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



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

Пример 1: Добавим в планировщик задачу с "discriminator": "ManyTimesDto", указанием "days": [ ] рабочие дни (кроме субботы и воскресенья) и количеством запусков "times": 10. Данная задача будет 10 раз запускать методику с идентификатором 1195 в рабочие дни. Первый раз запуск методики произойдет в ближайший из указанных в задаче рабочих дней в 13:00.
Задача была создана 18 января 2022 (вторник) до 13:00, значит ее ближайший запуск должен быть 18 января 2022 в 13:00.
Результат работы задачи.

Пример описания задачи в формате JSON

Пример 2:Добавим в планировщик задачу с "discriminator": "ManyTimesDto", указанием "timeSpan": "23:00:00" и количеством запусков "times": 5. Данная задача будет 5 раз запускать методику с идентификатором 1248 каждые 23 часа. Первый раз запуск методики произойдет в ближайший из указанных в задаче рабочих дней в 13:00.
Задача была создана 18 января 2022 до 13:00, значит ее ближайший запуск должен быть 18 января 2022 в 13:00.

Пример описания задачи в формате JSON

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

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

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

Пример описания задачи в формате JSON

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

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

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

Пример описания задачи в формате JSON

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

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

Пример описания задачи в формате JSON