OpenSearch/docs/reference/ml/anomaly-detection/apis/close-job.asciidoc

115 lines
3.8 KiB
Plaintext

[role="xpack"]
[testenv="platinum"]
[[ml-close-job]]
=== Close {anomaly-jobs} API
++++
<titleabbrev>Close jobs</titleabbrev>
++++
Closes one or more {anomaly-jobs}.
A job can be opened and closed multiple times throughout its lifecycle.
A closed job cannot receive data or perform analysis
operations, but you can still explore and navigate results.
[[ml-close-job-request]]
==== {api-request-title}
`POST _ml/anomaly_detectors/<job_id>/_close` +
`POST _ml/anomaly_detectors/<job_id>,<job_id>/_close` +
`POST _ml/anomaly_detectors/_all/_close` +
[[ml-close-job-prereqs]]
==== {api-prereq-title}
* If the {es} {security-features} are enabled, you must have `manage_ml` or
`manage` cluster privileges to use this API. See
{stack-ov}/security-privileges.html[Security privileges].
[[ml-close-job-desc]]
==== {api-description-title}
You can close multiple {anomaly-jobs} in a single API request by using a group
name, a comma-separated list of jobs, or a wildcard expression. You can close
all jobs by using `_all` or by specifying `*` as the `<job_id>`.
When you close a job, it runs housekeeping tasks such as pruning the model history,
flushing buffers, calculating final results and persisting the model snapshots.
Depending upon the size of the job, it could take several minutes to close and
the equivalent time to re-open.
After it is closed, the job has a minimal overhead on the cluster except for
maintaining its meta data. Therefore it is a best practice to close jobs that
are no longer required to process data.
When a {dfeed} that has a specified end date stops, it automatically closes
the job.
NOTE: If you use the `force` query parameter, the request returns without performing
the associated actions such as flushing buffers and persisting the model snapshots.
Therefore, do not use this parameter if you want the job to be in a consistent state
after the close job API returns. The `force` query parameter should only be used in
situations where the job has already failed, or where you are not interested in
results the job might have recently produced or might produce in the future.
[[ml-close-job-path-parms]]
==== {api-path-parms-title}
`<job_id>`::
(Required, string) Identifier for the {anomaly-job}. It can be a job
identifier, a group name, or a wildcard expression.
[[ml-close-job-query-parms]]
==== {api-query-parms-title}
`allow_no_jobs`::
(Optional, boolean) Specifies what to do when the request:
+
--
* Contains wildcard expressions and there are no jobs that match.
* Contains the `_all` string or no identifiers and there are no matches.
* Contains wildcard expressions and there are only partial matches.
The default value is `true`, which returns an empty `jobs` array
when there are no matches and the subset of results when there are partial
matches. If this parameter is `false`, the request returns a `404` status code
when there are no matches or only partial matches.
--
`force`::
(Optional, boolean) Use to close a failed job, or to forcefully close a job
which has not responded to its initial close request.
`timeout`::
(Optional, <<time-units, time units>>) Controls the time to wait until a job
has closed. The default value is 30 minutes.
[[ml-close-job-response-codes]]
==== {api-response-codes-title}
`404` (Missing resources)::
If `allow_no_jobs` is `false`, this code indicates that there are no
resources that match the request or only partial matches for the request.
[[ml-close-job-example]]
==== {api-examples-title}
The following example closes the `total-requests` job:
[source,console]
--------------------------------------------------
POST _ml/anomaly_detectors/total-requests/_close
--------------------------------------------------
// TEST[skip:setup:server_metrics_openjob]
When the job is closed, you receive the following results:
[source,console-result]
----
{
"closed": true
}
----