For any workflow activity we have property Timeout "check the Node tab of workflow activity tab". Timeout has 3 values
1. No Timeout
2. Item Attribute
3. Relative Time
No Timeout - means no timeout at all.
Item Attribute - this value will be populated from an attribute
Relative Time - means we can hardcoded time out values in days/hours/minutes based on the requirement, and in this post I will talk about this only.
Please note that once an activity is time out it will be picked up by the workflow background process (WBP). WBP will pick a time out activity only when it is eligible for Pickup.
Let says relative Timeout is 30 minutes and WBP us scheduled to run after every 10 minutes. Once this activity is time out WBP will not pick it immediately, it will pick it after 30 minutes only (as per out example on 3rd run).
Recently we came across an issue where customer has activity A1.
On execution A1 ,
- workflow progress to A3 if there is HOLD and once we release HOLD workflow progress to A6.
- If there is no Hold detected on execution of A1, workflow progress to A2 , A5 etc
Customer stated that if A1 detect a Hold it go to A3 and remain there for ever, even after the Hold has been released. some how WPG is not progressing A3 to A6, thus hundreds of records stuck in A3. Customer has also stated that same thing was working earlier without any issue, he also stated that after removing the Hold If he Manually Progress the records that stuck at A3, workflow Progress to A6.
On Investigation we notice that some how they set the time out to 100 days and because of that WBP was not picking A3 at all ( after hold has released) .
As per this setup of time-out this activity will be eligible to progress by workflow Background process only after 100 days.
To fix the issue ,we set the relative time to a reasonable value and everything works fine.
Be careful when you decide about attribute like this.