Платформа 3V/Планировщик/Как настроить планировщик: различия между версиями
Строка 14: | Строка 14: | ||
После того как вы авторизовались следует добавить новую аутентификацию для этого заполните шаблон новой аутентификации. <br> | После того как вы авторизовались следует добавить новую аутентификацию для этого заполните шаблон новой аутентификации. <br> | ||
− | + | <syntaxhighlight lang="JSON"> | |
{ | { | ||
"discriminator": "string", | "discriminator": "string", | ||
Строка 21: | Строка 21: | ||
"clientSecret": "string" | "clientSecret": "string" | ||
} | } | ||
+ | </syntaxhighlight> | ||
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;"> | <div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;"> | ||
Строка 38: | Строка 39: | ||
для добавления новой задачи можно использовать шаблон<br> | для добавления новой задачи можно использовать шаблон<br> | ||
+ | <syntaxhighlight lang="JSON"> | ||
{ | { | ||
"id": 0, | "id": 0, | ||
Строка 77: | Строка 79: | ||
"discriminator": "string" | "discriminator": "string" | ||
} | } | ||
+ | </syntaxhighlight> | ||
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;"> | <div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;"> |
Версия 08:46, 20 декабря 2021
Статья находится в разработке!
Планировщика (scheduler) - это сервис для запуска задач по заранее заданному времени.
Начало работы с планировщиком
Если вы ранее не использовали планировщик, то вам потребуетсявыполнить следующие шаги:
Шаг 1 Добавить в Keycloak конфиденциального клиента подробную инструкцию по настройке можно посмотреть здесь;
- Для начала создайте конфиденциального клиента
- Далее заполните необходимые настройки на вкладке "Settings".
- Настройте необходимый маппинг ролей на вкладке "Service Account Roles".
- Для начала создайте конфиденциального клиента
Теперь у вас есть ключ
Шаг 2 Добавить в scheduler (https://api.3v-cloud.com/scheduler/swagger/index.html#/) новую аутентификацию в раздел Authentication выбирать метод /api/Authentication/Add
- Для этого вам необходимо авторизоваться в scheduler. Авторизация с испозованием токена осуществляется следующим образом.Зайдите на стенд и скопируйте значение токена, далее вставьте его в окно Available authorizations раздел bearer (apiKey) строку "Value:" и нажмите на кнопку "Authorize".
- Для этого вам необходимо авторизоваться в 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) если вы правильно настроили задачу, то должны получить сообщение.