Группы выполнения
Группы выполнения (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"
}
Поля объекта группы выполнения
| Поле | Тип объекта | Описание |
|---|---|---|
id | string | Уникальный идентификатор группы выполнения. |
check_id | string | ID проверки, к которой относится эта группа выполнения. |
organization_id | string | ID организации. |
execution_mode | string | Режим выполнения: "all" (все регионы) или "random_n" (случайные N регионов). |
execution_type | string | Тип запуска: "scheduled" (по расписанию) или "on_demand" (по запросу). |
status | string | Статус группы выполнения: "running", "completed", "failed", "timeout". |
requested_regions | array | Список регионов, в которых должна была выполниться проверка. |
regional_summary | object | Краткая сводка результатов по каждому региону (см. ниже). |
statistics | object | Агрегированная статистика по всем выполнениям (см. ниже). |
created_at | string (ISO 8601) | Дата и время создания группы выполнения. |
started_at | string (ISO 8601) or null | Дата и время начала выполнения. |
completed_at | string (ISO 8601) or null | Дата и время завершения всех выполнений в группе. |
timeout_at | string (ISO 8601) or null | Дата и время таймаута (только для scheduled проверок). |
triggered_by_user_id | string or null | ID пользователя, запустившего проверку (только для 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"
}
}
| Поле | Тип объекта | Описание |
|---|---|---|
status | string | Статус выполнения в регионе: "ok", "failed", "timeout". |
response_time | number | Время ответа в миллисекундах. |
error_message | string 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_executions | number | Общее количество запланированных выполнений (равно количеству регионов). |
completed_executions | number | Количество успешно завершённых выполнений. |
failed_executions | number | Количество неудачных выполнений. |
avg_response_time | number | Среднее время ответа в миллисекундах. |
min_response_time | number | Минимальное время ответа в миллисекундах. |
max_response_time | number | Максимальное время ответа в миллисекундах. |
Получить детальные региональные результаты
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_id | string | ID группы выполнения. |
regional_results | array | Массив результатов по регионам (см. ниже). |
statistics | object | Агрегированная статистика (аналогична объекту statistics выше). |
Массив regional_results
Каждый элемент массива содержит информацию о результате выполнения в конкретном регионе.
| Поле | Тип объекта | Описание |
|---|---|---|
result_id | string | Уникальный ID результата. Используйте его с /v1/checks/all-results?result_id={result_id} для получения полной информации. |
region | string | Регион, в котором выполнялась проверка. |
status | string | Статус выполнения: "ok", "failed", "timeout". |
response_time | number | Время ответа в миллисекундах. |
error_message | string or null | Сообщение об ошибке, если выполнение завершилось неудачно. |
created_at | string (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",
...
}
}
Подробнее см. в документации Проверки по запросу.
Примеры использования
Отслеживание выполнения параллельной проверки
- Создайте или запустите проверку с параллельным выполнением
- Получите список групп выполнения:
GET /v1/checks/{check_id}/execution-groups - Отследите статус конкретной группы:
GET /v1/execution-groups/{group_id} - Получите детальные результаты по регионам:
GET /v1/execution-groups/{group_id}/regional-results - Для полной информации о каждом результате используйте:
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`);