Перейти к основному содержимому

Группы выполнения

Группы выполнения (Execution Groups) используются для отслеживания результатов параллельных проверок, когда проверка выполняется одновременно в нескольких регионах. Каждая группа выполнения представляет собой один запуск проверки со всеми её региональными результатами.

Группы выполнения создаются автоматически при каждом запуске проверки с включённым параллельным выполнением, независимо от того, была ли проверка запущена по расписанию (scheduled) или по запросу (on_demand).

Получить группы выполнения проверки

GET /v1/checks/{check_id}/execution-groups

Возвращает список всех групп выполнения для указанной проверки с поддержкой пагинации.

Параметры пути

  • check_id: string (обязательный) — Уникальный идентификатор проверки.

Параметры запроса

  • page: number (опционально) — Номер страницы. По умолчанию — 1.
  • page_size: number (опционально) — Количество элементов на странице. Максимум — 100. По умолчанию — 20.

Пример ответа

{
"execution_groups": [
{
"check_id": "obr6hhftpae5",
"completed_at": "2025-10-24T20:57:32.139756",
"created_at": "2025-10-24T20:57:23.729065",
"execution_mode": "all",
"execution_type": "scheduled",
"id": "ub1ci9qhratv",
"organization_id": "h1pprhmsmm4l",
"regional_summary": {
"EU, West": {
"error_message": null,
"response_time": 47,
"status": "ok"
},
"RU, Moscow": {
"error_message": null,
"response_time": 6,
"status": "ok"
}
},
"requested_regions": [
"RU, Moscow",
"EU, West"
],
"started_at": null,
"statistics": {
"avg_response_time": 26,
"completed_executions": 2,
"failed_executions": 0,
"max_response_time": 47,
"min_response_time": 6,
"total_executions": 2
},
"status": "completed",
"timeout_at": "2025-10-24T21:02:23.729067",
"triggered_by_user_id": null
}
],
"pagination": {
"page": 1,
"page_size": 20,
"total_items": 240,
"total_pages": 12
}
}

Получить группу выполнения по ID

GET /v1/execution-groups/{group_id}

Возвращает детальную информацию о конкретной группе выполнения.

Параметры пути

  • group_id: string (обязательный) — Уникальный идентификатор группы выполнения.

Пример ответа

{
"check_id": "obr6hhftpae5",
"completed_at": "2025-10-23T20:06:39.025798",
"created_at": "2025-10-23T20:06:33.605352",
"execution_mode": "all",
"execution_type": "on_demand",
"id": "0rjf462t4cvl",
"organization_id": "h1pprhmsmm4l",
"regional_summary": {
"EU, West": {
"error_message": null,
"response_time": 46,
"status": "ok"
},
"RU, Moscow": {
"error_message": null,
"response_time": 0,
"status": "ok"
}
},
"requested_regions": [
"EU, West",
"RU, Moscow"
],
"started_at": null,
"statistics": {
"avg_response_time": 46,
"completed_executions": 2,
"failed_executions": 0,
"max_response_time": 46,
"min_response_time": 46,
"total_executions": 2
},
"status": "completed",
"timeout_at": null,
"triggered_by_user_id": "yx13t4mydk6o"
}

Поля объекта группы выполнения

ПолеТип объектаОписание
idstringУникальный идентификатор группы выполнения.
check_idstringID проверки, к которой относится эта группа выполнения.
organization_idstringID организации.
execution_modestringРежим выполнения: "all" (все регионы) или "random_n" (случайные N регионов).
execution_typestringТип запуска: "scheduled" (по расписанию) или "on_demand" (по запросу).
statusstringСтатус группы выполнения: "running", "completed", "failed", "timeout".
requested_regionsarrayСписок регионов, в которых должна была выполниться проверка.
regional_summaryobjectКраткая сводка результатов по каждому региону (см. ниже).
statisticsobjectАгрегированная статистика по всем выполнениям (см. ниже).
created_atstring (ISO 8601)Дата и время создания группы выполнения.
started_atstring (ISO 8601) or nullДата и время начала выполнения.
completed_atstring (ISO 8601) or nullДата и время завершения всех выполнений в группе.
timeout_atstring (ISO 8601) or nullДата и время таймаута (только для scheduled проверок).
triggered_by_user_idstring or nullID пользователя, запустившего проверку (только для on_demand проверок).

Объект regional_summary

Объект regional_summary содержит краткую информацию о результатах выполнения в каждом регионе. Ключами являются названия регионов.

"regional_summary": {
"EU, West": {
"error_message": null,
"response_time": 46,
"status": "ok"
},
"RU, Moscow": {
"error_message": null,
"response_time": 0,
"status": "ok"
}
}
ПолеТип объектаОписание
statusstringСтатус выполнения в регионе: "ok", "failed", "timeout".
response_timenumberВремя ответа в миллисекундах.
error_messagestring or nullСообщение об ошибке, если выполнение завершилось неудачно.

Объект statistics

Объект statistics содержит агрегированную статистику по всем выполнениям в группе.

"statistics": {
"avg_response_time": 46,
"completed_executions": 2,
"failed_executions": 0,
"max_response_time": 46,
"min_response_time": 46,
"total_executions": 2
}
ПолеТип объектаОписание
total_executionsnumberОбщее количество запланированных выполнений (равно количеству регионов).
completed_executionsnumberКоличество успешно завершённых выполнений.
failed_executionsnumberКоличество неудачных выполнений.
avg_response_timenumberСреднее время ответа в миллисекундах.
min_response_timenumberМинимальное время ответа в миллисекундах.
max_response_timenumberМаксимальное время ответа в миллисекундах.

Получить детальные региональные результаты

GET /v1/execution-groups/{group_id}/regional-results

Возвращает детальные результаты выполнения проверки в каждом регионе для указанной группы выполнения. Для получения полной информации о результате используйте result_id с эндпоинтом /v1/checks/all-results.

Параметры пути

  • group_id: string (обязательный) — Уникальный идентификатор группы выполнения.

Пример ответа

{
"execution_group_id": "0rjf462t4cvl",
"regional_results": [
{
"created_at": "2025-10-23T20:06:37.699834",
"error_message": null,
"region": "RU, Moscow",
"response_time": 0,
"result_id": "ediolm1cwhac",
"status": "ok"
},
{
"created_at": "2025-10-23T20:06:38.955912",
"error_message": null,
"region": "EU, West",
"response_time": 46,
"result_id": "qmdx4z7fh4f8",
"status": "ok"
}
],
"statistics": {
"avg_response_time": 46,
"completed_executions": 2,
"failed_executions": 0,
"max_response_time": 46,
"min_response_time": 46,
"total_executions": 2
}
}

Поля

ПолеТип объектаОписание
execution_group_idstringID группы выполнения.
regional_resultsarrayМассив результатов по регионам (см. ниже).
statisticsobjectАгрегированная статистика (аналогична объекту statistics выше).

Массив regional_results

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

ПолеТип объектаОписание
result_idstringУникальный ID результата. Используйте его с /v1/checks/all-results?result_id={result_id} для получения полной информации.
regionstringРегион, в котором выполнялась проверка.
statusstringСтатус выполнения: "ok", "failed", "timeout".
response_timenumberВремя ответа в миллисекундах.
error_messagestring or nullСообщение об ошибке, если выполнение завершилось неудачно.
created_atstring (ISO 8601)Дата и время создания результата.

Использование с другими эндпоинтами

Получение полных результатов проверки

Для получения полной информации о результате проверки (включая check_metadata и другие детали) используйте result_id из регионального результата:

GET /v1/checks/all-results?result_id={result_id}

Этот эндпоинт вернёт детальный результат проверки, аналогичный описанному в документации Результаты Проверок.

Связь с проверками по запросу

При выполнении проверки по запросу через эндпоинт /v1/checks/{check_id}/execute для параллельных проверок в поле result объекта задания будет присутствовать execution_group_id. Используйте его для получения детальной информации о группе выполнения:

{
"id": "job_id",
"status": "completed",
"result": {
"execution_group_id": "group_id",
"status": "completed",
...
}
}

Подробнее см. в документации Проверки по запросу.

Примеры использования

Отслеживание выполнения параллельной проверки

  1. Создайте или запустите проверку с параллельным выполнением
  2. Получите список групп выполнения: GET /v1/checks/{check_id}/execution-groups
  3. Отследите статус конкретной группы: GET /v1/execution-groups/{group_id}
  4. Получите детальные результаты по регионам: GET /v1/execution-groups/{group_id}/regional-results
  5. Для полной информации о каждом результате используйте: GET /v1/checks/all-results?result_id={result_id}

Анализ производительности по регионам

Используйте группы выполнения для анализа производительности вашего сервиса в разных регионах:

// Получить последнюю группу выполнения
const groups = await fetch('/v1/checks/{check_id}/execution-groups?page_size=1');
const latestGroup = groups.execution_groups[0];

// Сравнить производительность по регионам
const regionalResults = await fetch(`/v1/execution-groups/${latestGroup.id}/regional-results`);

regionalResults.regional_results.forEach(result => {
console.log(`${result.region}: ${result.response_time}ms - ${result.status}`);
});

// Средняя производительность
console.log(`Average: ${regionalResults.statistics.avg_response_time}ms`);