Микросервис indexer-orchestration
Микросервис indexer-orchestration предоставляет функциональность для управления заданиями на индексацию.
Доступ к сервису предоставляется по запросу.
Логика работы 
В работе микросервиса используется сущность ScheduledBaselineDto, которая содержит информацию о запланированном запуске индексации (идентификатор, название, тип и др.).
Аутентификация 
При обращении к сервису аутентификация не нужна.
Service context path 
/api/indexer-orchestration/
Настройки и параметры конфигураци 
Параметры конфигурации указываются в Vault.
Vault используется на нашей платформе в качестве хранилища всех конфигураций развертывания. Инструмент может быть выбран другой.
{
"env": {
"JAVA_XMS": "XXm",
"JAVA_XMX": "YYYm"
}
}
{
"env": {
"INDEXER_URL": "url_доступа_к_indexer",
"SEARCH_ADMIN_URL": "url_доступа_к_search-admin",
"OAUTH_ZITADEL_ISSUER_URI": "url_Zitadel",
"OAUTH_ECOM_CLIENT_ID": "токен_приложения_ECOM_OAuth",
"OAUTH_ECOM_ISSUER_URI": "url_ECOM_OAuth",
"OAUTH_ZITADEL_CLIENT_ID": "токен_приложения_Zitadel"
}
}
Методы микросервиса
- Создание нового задания на индексацию - POST запрос, /v1/index/scheduled/baseline
Отсутствуют.
{
"name": "string",
"scheduleType": "SIMPLE",
"cron": "string",
"time": "2025-04-14T19:16:17.194Z",
"interval": 1
}
Примеры:
{name: "По средам", scheduleType: SCHEDULE, cron: "30 12 * * WED"}
{name: "Вечером", scheduleType: SINGLE, time: "2024-10-01T00:00:00"}
{name: "Каждый час", scheduleType: PERIOD, interval: 3600}
{
"id": "string",
"name": "string",
"scheduleType": "SIMPLE",
"cron": "string",
"time": "2025-04-14T19:16:17.217Z",
"interval": 1,
"status": "PENDING",
"lastExecution": "2025-04-14T19:16:17.217Z"
}
200 - операция прошла успешно, создано новое задание на индексацию
- Получение заданий на индексацию постранично с пагинацией, фильтрацией и сортировкой - POST запрос, /v1/index/scheduled/baseline/page
Отсутствуют.
{
"sort": [
{
"sortBy": "string",
"direction": "ASC"
}
],
"page": 0,
"size": 1,
"filter": {
"searchTerm": "string",
"name": "string",
"type": [
"SIMPLE"
],
"status": [
"PENDING"
],
"startDate": "2025-04-14T19:26:03.535Z",
"endDate": "2025-04-14T19:26:03.535Z"
}
}
{
"content": [
{
"id": "string",
"name": "string",
"scheduleType": "SIMPLE",
"cron": "string",
"time": "2025-04-14T19:26:03.536Z",
"interval": 1,
"status": "PENDING",
"lastExecution": "2025-04-14T19:26:03.536Z"
}
],
"number": 0,
"size": 0,
"totalElements": 0,
"pageable": {
"paged": true,
"unpaged": true,
"pageNumber": 0,
"pageSize": 0,
"sort": {
"direction": "string",
"nullHandling": "string",
"ascending": true,
"property": "string",
"ignoreCase": true
},
"offset": 0
},
"last": true,
"totalPages": 0,
"sort": {
"direction": "string",
"nullHandling": "string",
"ascending": true,
"property": "string",
"ignoreCase": true
},
"first": true,
"numberOfElements": 0,
"empty": true
}
200 - операция прошла успешно
- Получение отфильтрованного списка заданий на индексацию - POST запрос, /v1/index/scheduled/baseline/list
Отсутствуют.
{
"searchTerm": "string",
"name": "string",
"type": [
"SIMPLE"
],
"status": [
"PENDING"
],
"startDate": "2025-04-14T19:31:26.498Z",
"endDate": "2025-04-14T19:31:26.498Z"
}
[
{
"id": "string",
"name": "string",
"scheduleType": "SIMPLE",
"cron": "string",
"time": "2025-04-14T19:31:26.498Z",
"interval": 1,
"status": "PENDING",
"lastExecution": "2025-04-14T19:31:26.498Z"
}
]
200 - операция прошла успешно
- Получение задания на индексацию по ID - GET запрос, /v1/index/scheduled/baseline/{id}
id - path-параметр, обязательный: уникальный идентификатор задания на индексацию
{
"id": "string",
"name": "string",
"scheduleType": "SIMPLE",
"cron": "string",
"time": "2025-04-14T19:35:12.527Z",
"interval": 1,
"status": "PENDING",
"lastExecution": "2025-04-14T19:35:12.527Z"
}
200 - операция прошла успешно
404 - задание на индексацию с таким ID не найдено
- Удаление задания на индексацию по ID - DELETE запрос, /v1/index/scheduled/baseline/{id}
id - path-параметр, обязательный: уникальный идентификатор задания на индексацию
Отсутствует. В ответе приходит только код операции, например, 200
200 - операция прошла успешно
404 - задание на индексацию с таким ID не найдено
- Обновление задания на индексацию по ID - PATCH запрос, /v1/index/scheduled/baseline/{id}
id - path-параметр, обязательный: уникальный идентификатор задания на индексацию
{
"name": "string",
"scheduleType": "SIMPLE",
"cron": "string",
"time": "2025-04-14T19:43:54.569Z",
"interval": 1
}
{
"id": "string",
"name": "string",
"scheduleType": "SIMPLE",
"cron": "string",
"time": "2025-04-14T19:43:54.570Z",
"interval": 1,
"status": "PENDING",
"lastExecution": "2025-04-14T19:43:54.570Z"
}
200 - операция прошла успешно
404 - задание на индексацию с таким ID не найдено