Платформа 3V/Планировщик/Как настроить планировщик
Статья находится в разработке!
Первое использование Планировщика (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"
} 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"
} 4. Для того чтобы проверить корректно ли отрабатывает ваша задача принудительно запустите ее используя "Принудительно запустить задачу по иденитификатору(/api/Scheduler/RunTask)". 5. Посмотрите статус задачи используя "Возвращает информацию о состоянии задачи" (/api/Scheduler/GetTaskState) если вы правильно настроили задачу, то должны получить сообщение.