Платформа 3V/Планировщик/Настройки аутентификации/Примеры работы задач в Планировщике: различия между версиями
Строка 5: | Строка 5: | ||
== Однократный запуск методики == | == Однократный запуск методики == | ||
Для методик с однократным запуском используется период с '''"discriminator": "OnceDto"'''.<br> | Для методик с однократным запуском используется период с '''"discriminator": "OnceDto"'''.<br> | ||
− | + | '''Пример 1:''' Создадим в планировщике задачу с '''"discriminator": "OnceDto"'''. Данная задача запустит методику с идентификатором 1206 один раз в 09:01. <br> | |
− | '''Пример 1:''' Данная задача в планировщике запустит методику с идентификатором 1190 один раз. Несмотря на то, что в days указаны все дни | + | Дата создания задачи ''18 января 2022'' до ''09:01'', значит методика должна запуститься 18 января 2022 в 09:01. |
− | Задача была создана | + | <div class="toccolours mw-collapsible mw-collapsed" style="width:600px; 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/1206", | ||
+ | "headers": [], | ||
+ | "discriminator": "CalcWithParamsTaskUrlDto" | ||
+ | }, | ||
+ | "checkStateUrl": null, | ||
+ | "schedule": { | ||
+ | "timeSpan": "00:00:00", | ||
+ | "period": { | ||
+ | "discriminator": "OnceDto" | ||
+ | }, | ||
+ | "runTime": { | ||
+ | "hours": 9, | ||
+ | "minutes": 1 | ||
+ | }, | ||
+ | "discriminator": "TimerScheduleDto" | ||
+ | }, | ||
+ | "isEnable": true, | ||
+ | "authenticationSettingsId": 1, | ||
+ | "id": 41, | ||
+ | "name": "Запуск один раз", | ||
+ | "discriminator": "CalcScheduledTaskDto" | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | </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> | ||
<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> | ||
Строка 25: | Строка 56: | ||
"schedule": { | "schedule": { | ||
"days": [ | "days": [ | ||
− | |||
− | |||
"Thursday", | "Thursday", | ||
− | + | "Saturday" | |
− | "Saturday | ||
− | |||
− | |||
], | ], | ||
"period": { | "period": { | ||
Строка 44: | Строка 70: | ||
"isEnable": true, | "isEnable": true, | ||
"authenticationSettingsId": 1, | "authenticationSettingsId": 1, | ||
− | "id": | + | "id": 42, |
− | "name": "Запуск один раз", | + | "name": "Запуск один раз в четверг или субботу", |
"discriminator": "CalcScheduledTaskDto" | "discriminator": "CalcScheduledTaskDto" | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</div></div> | </div></div> | ||
+ | '''!Изменить скрин по новой задачи''' | ||
+ | [[Файл:запуск методики 1 раз.png|700px|слева]]<br clear="both" /><br> | ||
+ | '''Пример 3:''' | ||
== Записываем 20 раз. == | == Записываем 20 раз. == |
Версия 06:34, 18 января 2022
!Страница находится в разработке
Рассмотрим работу планировщика на примере задачи с запуском методики.
Для этого создадим методику расчета, которая будет записывать дату и время её запуска (используем выражение Now()), в методику так же добавим вычислимый параметр Сегодня (используем "defaultValue": "=Today()"). В данной методики каждый день будет изменяться параметр, отображая сегодняшний день, поэтому мы сможем посмотреть как по дням будет работать запуск задачи в планировщики и время запуска каждой задачи.
Содержание
Однократный запуск методики
Для методик с однократным запуском используется период с "discriminator": "OnceDto".
Пример 1: Создадим в планировщике задачу с "discriminator": "OnceDto". Данная задача запустит методику с идентификатором 1206 один раз в 09:01.
Дата создания задачи 18 января 2022 до 09:01, значит методика должна запуститься 18 января 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": [ ] указаны все дни, период запуска данной методики указан как "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 }
!Изменить скрин по новой задачи
Пример 3:
Записываем 20 раз.
Результат работы задачи.
Данная задача в планировщике запустит методику с идентификатором 1195 20 раз, так как в периоду указан "discriminator": "ManyTimesDto", а количество запусков равно 20 ("times": 20). Первый раз запуск методики произойдет в ближайший из указанных дней в 13:00.
Задача была создана 17 января 2022 года до 13:00, значит ее ближайший запуск должен быть 17 января 2022 в 13:00.
Вставить скрин после 20 запусков!
1 {
2 "runUrl": {
3 "parameters": [],
4 "type": "Post",
5 "url": "http://engine/api/Calculation/1195",
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 "Sunday"
19 ],
20 "period": {
21 "times": 20,
22 "discriminator": "ManyTimesDto"
23 },
24 "runTime": {
25 "hours": 13,
26 "minutes": 0
27 },
28 "discriminator": "DaysScheduleDto"
29 },
30 "isEnable": true,
31 "authenticationSettingsId": 1,
32 "id": 7,
33 "name": "Каждые ДЕНЬ",
34 "discriminator": "CalcScheduledTaskDto"
35 }
Записываем каждый день по дням
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 "Sunday"
19 ],
20 "period": {
21 "discriminator": "InfiniteTimesDto"
22 },
23 "runTime": {
24 "hours": 12,
25 "minutes": 0
26 },
27 "discriminator": "DaysScheduleDto"
28 },
29 "isEnable": true,
30 "authenticationSettingsId": 1,
31 "id": 6,
32 "name": "Каждые ДЕНЬ",
33 "discriminator": "CalcScheduledTaskDto"
34 }
Записываем с промежутком 23 часа
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": 10,
17 "minutes": 0
18 },
19 "discriminator": "TimerScheduleDto"
20 },
21 "isEnable": true,
22 "authenticationSettingsId": 1,
23 "id": 4,
24 "name": "Каждые 23 часа",
25 "discriminator": "CalcScheduledTaskDto"
26 }
Записываем дату с 15.01-16.02
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 "Tuesday",
13 "Wednesday",
14 "Thursday",
15 "Friday",
16 "Saturday",
17 "Monday",
18 "Sunday"
19 ],
20 "period": {
21 "startDate": "2022-01-15T00:00:00Z",
22 "endDate": "2022-02-16T00:00:00Z",
23 "discriminator": "DatePeriodDto"
24 },
25 "runTime": {
26 "hours": 13,
27 "minutes": 0
28 },
29 "discriminator": "DaysScheduleDto"
30 },
31 "isEnable": true,
32 "authenticationSettingsId": 1,
33 "id": 8,
34 "name": "Каждые ДЕНЬ",
35 "discriminator": "CalcScheduledTaskDto"
36 }