Hi Folks,
I recently started using Temporal to orchestrate some of our use cases using workflows. It revolves around triggering thousands of workflows within a minute or two and there are cases where we might fail and retry some of the workflows depending on the output of the activities. And these retries for now don’t have a maximumRetry
set. I do use a proper backoff coefficient and initial intervals in the restart policy.
- What I wanted to know was if my application is generating a lot of new workflows at the same time as when most of the existing workflows are failing and needs to be retried, how will temporal decide between starting a new workflow that is pending in the queue vs again retrying another failed workflow. Does it add the workflow that needs to be retried to the same queue to maintain ordering?
- Is there some sort of guarantee that all workflows will at least be given a chance to execute once rather than just retrying the failed workflows again and again which might cause some of workflows in the queue to starve.
Again these might be some very basic doubts, but wanted to get them cleared up to improve my understanding. Thanks in advance for all the help!