What is the best way to implement long time retry for downstream service unavailble, increasing activity timeout or cronjob workflow?

When we call downstream service in activity, downstream service could be experiencing outage for hours, we want to retry every few hours, what is the best way to do it?

  1. If we simply increase the activity timeout, would it cause problem? For example, the worker instance runnning the activity might be shut down accidently, would it cause temporal hours to reschedule the activity? What if the activity run into deadlock, it would take few hours to throw timeout exception.
  2. How about using Cronjob workflow? Is that an overkill in this case?

Take a look at forum post here.
Not sure which SDK you are using, for Java we have samples for each of the mentioned options here and looking into adding for other SDKs.
For your use case would look at the “infrequent poll” option.