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

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
Строка 3: Строка 3:
 
=== Начало работы с планировщиком ===
 
=== Начало работы с планировщиком ===
 
Если вы ранее не использовали планировщик, то вам потребуетсявыполнить следующие шаги: <br>
 
Если вы ранее не использовали планировщик, то вам потребуетсявыполнить следующие шаги: <br>
'''Шаг 1''' Добавить в Keycloak конфиденциального клиента подробную инструкцию по настройке можно посмотреть [[Платформа_3V/Планировщик/Настройки_аутентификации/Как_настроить_конфиденциального_клиента_на_примере_Keycloak|здесь]];<br>
+
'''Шаг 1''' Добавить в Keycloak конфиденциального клиента подробную инструкцию по настройке можно посмотреть [[Платформа_3V/Планировщик/Настройки_аутентификации/Как_настроить_конфиденциального_клиента_на_примере_Keycloak|здесь]].<br>
## Для начала создайте конфиденциального клиента <br>
+
# Для начала создайте конфиденциального клиента <br>
## Далее заполните необходимые настройки на вкладке "Settings".<br>
+
# Далее заполните необходимые настройки на вкладке "Settings".<br>
## Настройте необходимый маппинг ролей на вкладке "Service Account Roles".<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 новую аутентификацию в раздел '''Authentication''' выбирать метод '''/api/Authentication/Add'''(перейти в Планировщик можно по ссылке https://*******/scheduler/swagger/index.html#/ например, для cloud это https://api.3v-cloud.com/scheduler/swagger/index.html#/) <br>
## Для этого вам необходимо авторизоваться в scheduler. Авторизация с испозованием токена осуществляется следующим образом.Зайдите на стенд и скопируйте значение токена, далее вставьте его в окно Available authorizations раздел bearer (apiKey) строку "Value:" и нажмите на кнопку "Authorize".<br>
+
# Для начала вам необходимо авторизоваться в scheduler. Авторизация с испозованием токена осуществляется следующим образом. Зайдите на стенд и скопируйте значение токена, далее вставьте его в окно '''Available authorizations''' раздел '''bearer (apiKey)''' строку '''"Value:"''' и нажмите на кнопку '''"Authorize"'''.<br>
  
После того как вы авторизовались следует добавить новую аутентификацию для этого заполните шаблон новой аутентификации. <br>
+
После того как вы авторизовались следует добавить новую аутентификацию, для этого используйте метод '''/api/Authentication/Add''' и заполните шаблон новой аутентификации. <br>
 
<syntaxhighlight lang="JSON">
 
<syntaxhighlight lang="JSON">
 
{
 
{
Строка 36: Строка 36:
 
</syntaxhighlight>
 
</syntaxhighlight>
 
</div></div>
 
</div></div>
3. После чего вы можете добавлять новые задачи. Для добавления задачи используйте метод /api/Scheduler/AddNewTask а разделе Scheduler.
+
'''Шаг 3''' Далее вы можете добавлять новые задачи. Для добавления задачи используйте метод '''/api/Scheduler/AddNewTask''' а разделе '''Scheduler'''. Для добавления новой задачи можно использовать шаблон<br>
для добавления новой задачи можно использовать шаблон<br>
 
  
 
<syntaxhighlight lang="JSON">
 
<syntaxhighlight lang="JSON">
Строка 113: Строка 112:
 
</syntaxhighlight>
 
</syntaxhighlight>
 
</div></div>
 
</div></div>
4. Для того чтобы проверить корректно ли отрабатывает ваша задача принудительно запустите ее используя "Принудительно запустить задачу по иденитификатору(/api/Scheduler/RunTask)".<br>
+
'''Шаг 4''' Для того чтобы проверить корректно ли отрабатывает ваша задача, принудительно запустите ее используя '''"Принудительно запустить задачу по иденитификатору"(/api/Scheduler/RunTask)'''.<br>
  
5. Посмотрите статус задачи используя "Возвращает информацию о состоянии задачи" (/api/Scheduler/GetTaskState) если вы правильно настроили задачу, то должны получить сообщение.
+
'''Шаг 5''' Посмотрите статус задачи используя '''"Возвращает информацию о состоянии задачи" (/api/Scheduler/GetTaskState)''' если вы правильно настроили задачу, то должны получить сообщение.

Версия 05:30, 21 декабря 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 новую аутентификацию в раздел Authentication выбирать метод /api/Authentication/Add(перейти в Планировщик можно по ссылке https://*******/scheduler/swagger/index.html#/ например, для cloud это https://api.3v-cloud.com/scheduler/swagger/index.html#/)

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

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

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