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

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
Строка 83: Строка 83:
  
 
== Запуск методики ограниченный количеством раз ==  
 
== Запуск методики ограниченный количеством раз ==  
'''Пример 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>
 
[https://study.3v-cloud.com/navigator/#/home?parentId=1194 Результат работы задачи]. <br>
 
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:700px; overflow:auto;">
 
<div style="font-weight:bold;line-height:1.6;"> Пример описания задачи в формате JSON </div>
 
<div class="mw-collapsible-content mw-collapsed-content">
 
<syntaxhighlight lang="JSON" line>
 
{
 
    "runUrl": {
 
      "parameters": [],
 
      "type": "Post",
 
      "url": "http://engine/api/Calculation/1195",
 
      "headers": [],
 
      "discriminator": "CalcWithParamsTaskUrlDto"
 
    },
 
    "checkStateUrl": null,
 
    "schedule": {
 
      "days": [
 
        "Tuesday",
 
        "Wednesday",
 
        "Thursday",
 
        "Friday",
 
        "Monday"
 
      ],
 
      "period": {
 
        "times": 10,
 
        "discriminator": "ManyTimesDto"
 
      },
 
      "runTime": {
 
        "hours": 13,
 
        "minutes": 0
 
      },
 
      "discriminator": "DaysScheduleDto"
 
    },
 
    "isEnable": true,
 
    "authenticationSettingsId": 1,
 
    "id": 43,
 
    "name": "По будням 10 раз",
 
    "discriminator": "CalcScheduledTaskDto"
 
  }
 
</syntaxhighlight>
 
</div></div>
 
'''Пример 2:'''Добавим в планировщик задачу с '''"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>
 
Задача была создана ''19 января 2022'' до ''12:00'', значит ее ближайший запуск должен быть ''19 января 2022'' в ''12:00'' и далее она будет запускаться через 23 часа 5 раз, значит ее последний запуск должен быть 23 января 2022 в 8:00 <br>
  

Версия 05:37, 7 февраля 2022

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

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

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

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

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

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



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

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

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

запуск методики 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

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

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



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

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

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

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

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

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

в периоде по дням.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

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

в периоде.png