停止汇总作业 API编辑

在 8.11.0 中已弃用。

汇总将在未来版本中删除。请使用 降采样 代替。

停止已启动的现有汇总作业。

请求编辑

POST _rollup/job/<job_id>/_stop

先决条件编辑

  • 如果启用了 Elasticsearch 安全功能,您必须具有 managemanage_rollup 集群权限才能使用此 API。有关更多信息,请参见 安全权限

描述编辑

如果您尝试停止不存在的作业,则会发生异常。如果您尝试停止已停止的作业,则不会发生任何事情。

路径参数编辑

<job_id>
(必需,字符串) 汇总作业的标识符。

查询参数编辑

timeout

(可选,TimeValue) 如果 wait_for_completiontrue,则 API 在等待作业停止时会阻塞(最多)指定的时间段。如果超过了 timeout 时间,API 会抛出超时异常。默认值为 30s

即使抛出超时异常,停止请求仍在处理中,最终会将作业移至 STOPPED。超时仅表示 API 调用本身在等待状态更改时超时。

wait_for_completion
(可选,布尔值) 如果设置为 true,则 API 会阻塞,直到索引器状态完全停止。如果设置为 false,则 API 会立即返回,并且索引器将在后台异步停止。默认值为 false

响应代码编辑

404 (缺少资源)
此代码表示没有与请求匹配的资源。如果您尝试停止不存在的作业,则会发生这种情况。

示例编辑

由于只有停止的作业才能删除,因此阻塞 API 直到索引器完全停止可能很有用。这可以通过 wait_for_completion 查询参数(以及可选的 timeout)来实现。

response = client.rollup.stop_job(
  id: 'sensor',
  wait_for_completion: true,
  timeout: '10s'
)
puts response
POST _rollup/job/sensor/_stop?wait_for_completion=true&timeout=10s

该参数会阻塞 API 调用,直到作业移至 STOPPED 或指定时间过去为止。如果指定时间过去,但作业没有移至 STOPPED,则会抛出超时异常。