Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Guide [8.17] ›REST API ›Rollup API

API остановки задач агрегации

Устарело начиная с 8.11.0.

Функционал агрегации будет удален в будущей версии. Используйте downsampling вместо него.

Новая справка по API

Для получения самых актуальных данных об API обратитесь к API агрегации.

Останавливает существующую запущенную задачу агрегации.

Запрос

POST _rollup/job/<job_id>/_stop

Предварительные условия

  • Если в Elasticsearch включены функции безопасности, вам потребуется manage или manage_rollup разрешение кластера для использования этого API. Дополнительная информация приведена в разделе Разрешения безопасности.

Описание

Если вы попытаетесь остановить задачу, которой не существует, произойдёт исключение. Если вы попытаетесь остановить уже остановленную задачу, ничего не произойдёт.

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

<job_id>
(Обязательно, строка) Идентификатор задачи агрегации.

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

timeout

(Необязательно, TimeValue) Если wait_for_completion задано как true, API блокируется (максимально) на указанный период, ожидая завершения работы задачи. Если время ожидания превышает timeout, API возвращает исключение таймаута. По умолчанию — 30s.

Даже если возникает исключение таймаута, запрос на остановку всё ещё обрабатывается и в конечном итоге переводит задачу в состояние STOPPED. Таймаут означает просто, что сам API-запрос не смог завершиться в ожидании изменения состояния.

wait_for_completion
(Необязательно, Boolean) Если установлено в значение true, API блокируется до полного завершения индексатора. Если установлено в значение false, API возвращает результат сразу же, а индексатор останавливается асинхронно в фоновом режиме. По умолчанию — false.

Коды ответов

404 (Нет ресурсов)
Этот код указывает на отсутствие ресурсов, соответствующих запросу. Возникает при попытке остановить задачу, которой не существует.

Примеры

Поскольку удалить можно только остановленную задачу, полезно заблокировать API до полного завершения работы индексатора. Это достигается с помощью параметра wait_for_completion и (необязательно) timeout:

resp = client.rollup.stop_job(
    id="sensor",
    wait_for_completion=True,
    timeout="10s",
)
print(resp)
response = client.rollup.stop_job(
  id: 'sensor',
  wait_for_completion: true,
  timeout: '10s'
)
puts response
const response = await client.rollup.stopJob({
  id: "sensor",
  wait_for_completion: "true",
  timeout: "10s",
});
console.log(response);
POST _rollup/job/sensor/_stop?wait_for_completion=true&timeout=10s

Параметр блокирует API-вызов до тех пор, пока задача не перейдёт в состояние STOPPED или не истечёт указанное время. Если указанное время истечёт, а задача не перейдёт в состояние STOPPED, будет выброшено исключение таймаута.

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/rollup-stop-job.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API