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

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
Строка 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 шаг (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 2.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) если вы правильно настроили задачу, то должны получить сообщение.