Платформа 3V/Планировщик/Как настроить планировщик: различия между версиями
Строка 19: | Строка 19: | ||
"clientSecret": "string" | "clientSecret": "string" | ||
} | } | ||
+ | Настройка из примера | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="width:800px; 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> | ||
+ | { | ||
+ | "settings": { | ||
+ | "tokenRequestUrl": "https://api.3v-cloud.com/auth/realms/study/protocol/openid-connect/token", | ||
+ | "clientId": "confidential-test", | ||
+ | "clientSecret": "********************", | ||
+ | "discriminator": "ConfidentialClientAuthenticationSettingsDto" | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | </div></div> | ||
3. После чего вы можете добавлять новые задачи. Для добавления задачи используйте метод /api/Scheduler/AddNewTask а разделе Scheduler. | 3. После чего вы можете добавлять новые задачи. Для добавления задачи используйте метод /api/Scheduler/AddNewTask а разделе Scheduler. | ||
для добавления новой задачи можно использовать шаблон | для добавления новой задачи можно использовать шаблон | ||
Строка 60: | Строка 74: | ||
"discriminator": "string" | "discriminator": "string" | ||
} | } | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="width:800px; 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/1064", | ||
+ | "headers": [], | ||
+ | "discriminator": "CalcWithParamsTaskUrlDto" | ||
+ | }, | ||
+ | "checkStateUrl": null, | ||
+ | "schedule": { | ||
+ | "timeSpan": "00:10:00", | ||
+ | "period": { | ||
+ | "discriminator": "InfiniteTimesDto" | ||
+ | }, | ||
+ | "runTime": { | ||
+ | "hours": 1, | ||
+ | "minutes": 0 | ||
+ | }, | ||
+ | "discriminator": "TimerScheduleDto" | ||
+ | }, | ||
+ | "isEnable": true, | ||
+ | "authenticationSettingsId": 1, | ||
+ | "id": 1, | ||
+ | "name": "calc_test", | ||
+ | "discriminator": "CalcScheduledTaskDto" | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | </div></div> | ||
4. Для того чтобы проверить корректно ли отрабатывает ваша задача принудительно запустите ее используя "Принудительно запустить задачу по иденитификатору(/api/Scheduler/RunTask)". | 4. Для того чтобы проверить корректно ли отрабатывает ваша задача принудительно запустите ее используя "Принудительно запустить задачу по иденитификатору(/api/Scheduler/RunTask)". | ||
5. Посмотрите статус задачи используя "Возвращает информацию о состоянии задачи" (/api/Scheduler/GetTaskState) если вы правильно настроили задачу, то должны получить сообщение. | 5. Посмотрите статус задачи используя "Возвращает информацию о состоянии задачи" (/api/Scheduler/GetTaskState) если вы правильно настроили задачу, то должны получить сообщение. |
Версия 12:43, 17 декабря 2021
Статья находится в разработке!
Первое использование Планировщика (scheduler):
1. Добавить в Keycloak конфиденциального клиента подробную инструкцию по настройке можно посмотреть здесь;
1.1 Если у вас не создан конфиденциальный клиент, то его следует создать, следуя инструкции.
Для начала нажмите на кнопку создать и заполните Client ID.
Далее заполните необходимые настройки на вкладке "Settings".
Настройте необходимый маппинг ролей на вкладке "Service Account Roles".
Теперь у вас есть ключ
2. Добавить в scheduler (https://api.3v-cloud.com/scheduler/swagger/index.html#/) новую аутентификацию в раздел Authentication выбирать метод /api/Authentication/Add 2.1 Для этого вам необходимо в=авторизоваться в scheduler, для этого используйте токен. Зайдите на стенд и скопируйте значение токена далее вставьте его в окно Available authorizations раздел bearer (apiKey) строку "Value:" и нажмите на кнопку "Authorize".
После того как вы авторизовались следует добавить новую аутентификацию заполнить шаблон новой аутентификации. {
"discriminator": "string", "tokenRequestUrl": "string", "clientId": "string", "clientSecret": "string"
} Настройка из примера
1 {
2 "settings": {
3 "tokenRequestUrl": "https://api.3v-cloud.com/auth/realms/study/protocol/openid-connect/token",
4 "clientId": "confidential-test",
5 "clientSecret": "********************",
6 "discriminator": "ConfidentialClientAuthenticationSettingsDto"
7 }
3. После чего вы можете добавлять новые задачи. Для добавления задачи используйте метод /api/Scheduler/AddNewTask а разделе Scheduler. для добавления новой задачи можно использовать шаблон {
"id": 0, "name": "string", "runUrl": { "type": "Get", "url": "string", "headers": [ { "name": "string", "value": "string" } ], "discriminator": "string" }, "checkStateUrl": { "type": "Get", "url": "string", "headers": [ { "name": "string", "value": "string" } ], "discriminator": "string" }, "schedule": { "period": { "discriminator": "string" }, "runTime": { "hours": 0, "minutes": 0 }, "discriminator": "string" }, "isEnable": true, "authenticationSettingsId": 0, "discriminator": "string"
}
1 {
2 "runUrl": {
3 "parameters": [],
4 "type": "Post",
5 "url": "http://engine/api/Calculation/1064",
6 "headers": [],
7 "discriminator": "CalcWithParamsTaskUrlDto"
8 },
9 "checkStateUrl": null,
10 "schedule": {
11 "timeSpan": "00:10:00",
12 "period": {
13 "discriminator": "InfiniteTimesDto"
14 },
15 "runTime": {
16 "hours": 1,
17 "minutes": 0
18 },
19 "discriminator": "TimerScheduleDto"
20 },
21 "isEnable": true,
22 "authenticationSettingsId": 1,
23 "id": 1,
24 "name": "calc_test",
25 "discriminator": "CalcScheduledTaskDto"
26 }
4. Для того чтобы проверить корректно ли отрабатывает ваша задача принудительно запустите ее используя "Принудительно запустить задачу по иденитификатору(/api/Scheduler/RunTask)". 5. Посмотрите статус задачи используя "Возвращает информацию о состоянии задачи" (/api/Scheduler/GetTaskState) если вы правильно настроили задачу, то должны получить сообщение.