I am using Camunda Platform 8 by running GitHub - camunda/camunda-platform: Camunda Platform 8 locally (still at the development stage). I model with the Cloud modeler and then upload the file in the Desktop modeler to deploy locally.
I am trying to retry failed tasks with a REST Connector.
What I expect is, as long as the endpoint fails, it gets tried 3 times.
- First I create a connector.
- Then I unlink to be able to apply a “Retries” value. Everything else being the same.
- Then it fails once without any retry.
(open image in new table to see full size)
Am I understanding something wrong? Am I doing something wrong?
Where is the REST connector code? The failure retry count is the responsibility of the worker. When you call the failJob API, you pass in the retry count. Usually a client library decrements the current retry count of the job metadata as received.
If it is going straight to an incident, it means that whatever code is failing the job via the API is passing 0 for retries.
But if the REST endpoint is returning HTTP 500, are you certain it is not retrying? Because by default the retry is instantaneous, and an endpoint returning HTTP 500 will just fail multiple times in rapid succession.
There is no REST connector code and no worker code. The Camunda engine calls the endpoint just fine. I can see it reaching our API. It works as expected if the endpoint succeed. But maybe it’s where I am not doing everything right? But it just works.
BUT if it fails, it calls it just once even with the value for retries is 3 in Camunda.
I can see our API being called just once in case of failure (http 500 for example). I set the retries value to 3 in the modeler so I cannot see why it would end up being zero. I was thinking maybe the REST connector does not support retries since I have to unlink it first to set the value but as far as I understand, it should.