Asynchronous Activity Completion: retry on timeout


Let’s consider the following use-case:

We have an asynchronous activity that sends a request, and gets completed by receiving a response message. Let’s say this message doesn’t arrive at all, and the activity has a 10min long timeout.

How could I achieve, that instead of failing, if the response message doesn’t arrive in 10 minutes, the activity retries by sending the request once again?

Thank you!

Can I maybe use heartbeat timeout for this purpose?

By default, an activity has an associated retry options. So if you specify StartToCloseTimeout of 10 minutes it will be automatically retried if completion is not called within 10 minutes.

Can I maybe use heartbeat timeout for this purpose?

Heartbeat is used for a different purpose. It helps when an activity is potentially very long running, but you want to detect its implementation failure faster. For example, an activity can run up to 1 hour. In this case, StartToClose timeout should be 1 hour. If you set heartbeat timeout of 1 minute then if you fail to call heartbeat for a minute the activity is timed out and retried.

Oh indeed. I was using setScheduleToCloseTimeout, and assumed, that the other timeout types will also fail the step.

Thank you.