Handle External Task 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.
Method
POST /external-task/{id}/failure
Parameters
Path Parameters
Name | Description |
---|---|
id | The id of the external task to report a failure for. |
Request Body
A JSON object with the following properties:
Name | Description |
---|---|
workerId | The id of the worker that reports the failure. Must match the id of the worker who has most recently locked the task. |
errorMessage | An message indicating the reason of the failure. |
errorDetails | A detailed error description. |
retries | 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. |
retryTimeout | A timeout in milliseconds before the external task becomes available again for fetching. Must be >= 0. |
Result
This method returns no content.
Response Codes
Code | Media type | Description |
---|---|---|
204 | Request successful. | |
400 | application/json | Returned if the task's most recent lock was not acquired by the provided worker. See the Introduction for the error response format. |
404 | application/json | Returned if the task does not exist. This could indicate a wrong task id as well as a cancelled task, e.g., due to a caught BPMN boundary event. See the Introduction for the error response format. |
500 | application/json | Returned if the corresponding process instance could not be resumed successfully. See the Introduction for the error response format. |
Example
Request
POST /external-task/anId/failure
Request Body:
{
"workerId": "aWorker",
"errorMessage": "Does not compute",
"retries": 3,
"retryTimeout": 60000
}
Response
Status 204. No content.