Платформа 3V/Планировщик/Как настроить планировщик: различия между версиями

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
Строка 1: Строка 1:
 
'''Статья находится в разработке!'''<br>
 
'''Статья находится в разработке!'''<br>
Планировщика (scheduler) - это
+
Планировщика (scheduler) - это сервис для запуска задач по заранее заданному времени.
 
=== Начало работы с планировщиком ===
 
=== Начало работы с планировщиком ===
1. Добавить в Keycloak конфиденциального клиента подробную инструкцию по настройке можно посмотреть [[Платформа_3V/Планировщик/Настройки_аутентификации/Как_настроить_конфиденциального_клиента_на_примере_Keycloak|здесь]];<br>
+
Если вы ранее не использовали планировщик, то вам потребуетсявыполнить следующие шаги: <br>
 
+
'''Шаг 1''' Добавить в Keycloak конфиденциального клиента подробную инструкцию по настройке можно посмотреть [[Платформа_3V/Планировщик/Настройки_аутентификации/Как_настроить_конфиденциального_клиента_на_примере_Keycloak|здесь]];<br>
1.1 Если у вас не создан конфиденциальный клиент, то его следует создать, следуя инструкции.<br>
+
## Для начала создайте конфиденциального клиента <br>
 
+
## Далее заполните необходимые настройки на вкладке "Settings".<br>
Для начала нажмите на кнопку  создать и заполните Client ID.<br>
+
## Настройте необходимый маппинг ролей на вкладке "Service Account Roles".<br>
 
 
Далее заполните необходимые настройки на вкладке "Settings".<br>
 
 
 
Настройте необходимый маппинг ролей на вкладке "Service Account Roles".<br>
 
 
 
 
[[Файл:2 шаг (online-video-cutter.com).gif|слева]]<br clear="both" /><br>
 
[[Файл:2 шаг (online-video-cutter.com).gif|слева]]<br clear="both" /><br>
 
Теперь у вас есть ключ  
 
Теперь у вас есть ключ  
 
[[Файл:4 шаг (online-video-cutter.com).gif|слева]]<br clear="both" /><br>
 
[[Файл:4 шаг (online-video-cutter.com).gif|слева]]<br clear="both" /><br>
2. Добавить в scheduler (https://api.3v-cloud.com/scheduler/swagger/index.html#/) новую аутентификацию в раздел Authentication выбирать метод /api/Authentication/Add<br>
+
'''Шаг 2''' Добавить в scheduler (https://api.3v-cloud.com/scheduler/swagger/index.html#/) новую аутентификацию в раздел '''Authentication''' выбирать метод '''/api/Authentication/Add'''<br>
 
+
## Для этого вам необходимо авторизоваться в scheduler. Авторизация с испозованием токена осуществляется следующим образом.Зайдите на стенд и скопируйте значение токена, далее вставьте его в окно Available authorizations раздел bearer (apiKey) строку "Value:" и нажмите на кнопку "Authorize".<br>
2.1 Для этого вам необходимо в=авторизоваться в scheduler, для этого используйте токен. Зайдите на стенд и скопируйте значение токена далее вставьте его в окно Available authorizations раздел bearer (apiKey) строку "Value:" и нажмите на кнопку "Authorize".<br>
 
 
 
  
После того как вы авторизовались следует добавить новую аутентификацию заполнить шаблон новой аутентификации. <br>
+
После того как вы авторизовались следует добавить новую аутентификацию для этого заполните шаблон новой аутентификации. <br>
  
 
{
 
{
Строка 28: Строка 21:
 
   "clientSecret": "string"
 
   "clientSecret": "string"
 
}
 
}
Настройка из примера
+
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
 
<div style="font-weight:bold;line-height:1.6;"> Пример JSON описание аутентификации </div>
 
<div style="font-weight:bold;line-height:1.6;"> Пример JSON описание аутентификации </div>

Версия 08:43, 20 декабря 2021

Статья находится в разработке!
Планировщика (scheduler) - это сервис для запуска задач по заранее заданному времени.

Начало работы с планировщиком

Если вы ранее не использовали планировщик, то вам потребуетсявыполнить следующие шаги:
Шаг 1 Добавить в Keycloak конфиденциального клиента подробную инструкцию по настройке можно посмотреть здесь;

    1. Для начала создайте конфиденциального клиента
    2. Далее заполните необходимые настройки на вкладке "Settings".
    3. Настройте необходимый маппинг ролей на вкладке "Service Account Roles".
2 шаг (online-video-cutter.com).gif



Теперь у вас есть ключ

4 шаг (online-video-cutter.com).gif



Шаг 2 Добавить в scheduler (https://api.3v-cloud.com/scheduler/swagger/index.html#/) новую аутентификацию в раздел Authentication выбирать метод /api/Authentication/Add

    1. Для этого вам необходимо авторизоваться в scheduler. Авторизация с испозованием токена осуществляется следующим образом.Зайдите на стенд и скопируйте значение токена, далее вставьте его в окно Available authorizations раздел bearer (apiKey) строку "Value:" и нажмите на кнопку "Authorize".

После того как вы авторизовались следует добавить новую аутентификацию для этого заполните шаблон новой аутентификации.

{

 "discriminator": "string",
 "tokenRequestUrl": "string",
 "clientId": "string",
 "clientSecret": "string"

}

Пример JSON описание аутентификации
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"

}

Пример JSON описание задачи
 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) если вы правильно настроили задачу, то должны получить сообщение.