curl --request POST \
--url http://{host}:{port}/{contextPath}/external-task/{id}/failure \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"workerId": "aWorker",
"errorMessage": "Does not compute",
"retries": 3,
"retryTimeout": 60000
}
'import requests
url = "http://{host}:{port}/{contextPath}/external-task/{id}/failure"
payload = {
"workerId": "aWorker",
"errorMessage": "Does not compute",
"retries": 3,
"retryTimeout": 60000
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
workerId: 'aWorker',
errorMessage: 'Does not compute',
retries: 3,
retryTimeout: 60000
})
};
fetch('http://{host}:{port}/{contextPath}/external-task/{id}/failure', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "62437",
CURLOPT_URL => "http://{host}:{port}/{contextPath}/external-task/{id}/failure",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'workerId' => 'aWorker',
'errorMessage' => 'Does not compute',
'retries' => 3,
'retryTimeout' => 60000
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://{host}:{port}/{contextPath}/external-task/{id}/failure"
payload := strings.NewReader("{\n \"workerId\": \"aWorker\",\n \"errorMessage\": \"Does not compute\",\n \"retries\": 3,\n \"retryTimeout\": 60000\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("http://{host}:{port}/{contextPath}/external-task/{id}/failure")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"workerId\": \"aWorker\",\n \"errorMessage\": \"Does not compute\",\n \"retries\": 3,\n \"retryTimeout\": 60000\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://{host}:{port}/{contextPath}/external-task/{id}/failure")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"workerId\": \"aWorker\",\n \"errorMessage\": \"Does not compute\",\n \"retries\": 3,\n \"retryTimeout\": 60000\n}"
response = http.request(request)
puts response.read_body{
"type": "<string>",
"message": "<string>",
"code": 123
}{
"type": "<string>",
"message": "<string>",
"code": 123
}{
"type": "<string>",
"message": "<string>",
"code": 123
}Handle Failure
Reports a failure to execute an external task by id. A number of retries and a timeout until the task can be retried can be specified. If retries are set to 0, an incident for this task is created.
curl --request POST \
--url http://{host}:{port}/{contextPath}/external-task/{id}/failure \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"workerId": "aWorker",
"errorMessage": "Does not compute",
"retries": 3,
"retryTimeout": 60000
}
'import requests
url = "http://{host}:{port}/{contextPath}/external-task/{id}/failure"
payload = {
"workerId": "aWorker",
"errorMessage": "Does not compute",
"retries": 3,
"retryTimeout": 60000
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
workerId: 'aWorker',
errorMessage: 'Does not compute',
retries: 3,
retryTimeout: 60000
})
};
fetch('http://{host}:{port}/{contextPath}/external-task/{id}/failure', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "62437",
CURLOPT_URL => "http://{host}:{port}/{contextPath}/external-task/{id}/failure",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'workerId' => 'aWorker',
'errorMessage' => 'Does not compute',
'retries' => 3,
'retryTimeout' => 60000
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://{host}:{port}/{contextPath}/external-task/{id}/failure"
payload := strings.NewReader("{\n \"workerId\": \"aWorker\",\n \"errorMessage\": \"Does not compute\",\n \"retries\": 3,\n \"retryTimeout\": 60000\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("http://{host}:{port}/{contextPath}/external-task/{id}/failure")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"workerId\": \"aWorker\",\n \"errorMessage\": \"Does not compute\",\n \"retries\": 3,\n \"retryTimeout\": 60000\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://{host}:{port}/{contextPath}/external-task/{id}/failure")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"workerId\": \"aWorker\",\n \"errorMessage\": \"Does not compute\",\n \"retries\": 3,\n \"retryTimeout\": 60000\n}"
response = http.request(request)
puts response.read_body{
"type": "<string>",
"message": "<string>",
"code": 123
}{
"type": "<string>",
"message": "<string>",
"code": 123
}{
"type": "<string>",
"message": "<string>",
"code": 123
}Authorizations
Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.
Path Parameters
The id of the external task to report a failure for.
Body
An message indicating the reason of the failure.
A detailed error description.
A number of how often the task should be retried. Must be >= 0. If this is 0, an incident is created and
the task cannot be fetched anymore unless the retries are increased again. The incident's message is set
to the errorMessage parameter.
A timeout in milliseconds before the external task becomes available again for fetching. Must be >= 0.
A JSON object containing variable key-value pairs. Each key is a variable name and each value a JSON variable value object with the following properties:
Show child attributes
Show child attributes
A JSON object containing local variable key-value pairs. Local variables are set only in the scope of external task. Each key is a variable name and each value a JSON variable value object with the following properties:
Show child attributes
Show child attributes
Mandatory. The ID of the worker who is performing the operation on the external task. If the task is already locked, must match the id of the worker who has most recently locked the task.
Response
Request successful.