Due to server issues it got terminated. So, to redeploy this RCR I performed the usual steps
- Copy the current RCR Job record.
- Click on Submit Job.
After few minutes I went to Repeating Instance tab to check if everything is working correctly or not. To my utter surprise I found that instead of executing the workflow every 15 minutes, Siebel was executing the workflow every 10 seconds causing unnecessary execution of the workflow and overloading the workflow process manager.
A good friend of mine Anshu Joshua helped me out the figure out the reason for this behavior. When We schedule a RCR there are two important fields
- Scheduled Start: It is a date time field which determines from when the execution of the RCR should start
- Repeat From:: This field can have 3 values which are as following
- Scheduled Start: Repeat the instances from the value in the Scheduled Start Field.
- Actual Start: Repeat the instances from the time this RCR has been deployed
- End: I will try to explain the value through an example.
Suppose you have deployed an RCR with repeat interval of 10 min and for some reason your workflow takes 15 minutes to complete. If you enter the value of Repeat From field as End then the next instance will be scheduled 10 min after the first instance finishes. In other cases (Actual Start and Scheduled Start) even if the first instances has not finished another instance will be triggered after 10 min. So, in case if you feel that you workflow could run over the repeat interval use this value.
Now, let me try to explain the reason with help of an example::
Let’s assume I deployed my first RCR on 1 JAN 9:00 AM and the problem occurred on 1 Feb 4:00 PM. When I copy and create a new the RCR record on 1st FEB 5:00 PM, the value in the scheduled Start fields get’s copied over 1 JAN 9:00 AM and the Repeat From field has value Scheduled Start.
This forces Siebel to start executing this task every 10 seconds in order to somehow makeup for the lost time. I don’t have the exact calculation Siebel performs but what I can say for sure “Siebel makes up some amount of time with every execution and will eventually after X number of executions it will start spawning jobs normally”. Now this X could be 1000 in case difference between Scheduled Time and Actual time is less and could be 10000 in case the difference is more.
There are two things you can do::
1. Always create a new RCR Job and never copy an old RCR record.
2. Change the Repeat From value to “Actual Start” after copying the RCR and before submitting the RCR job.
From this experience I think either Siebel should have made ‘No Copy’ true for Scheduled Start date or kept the default value as “Actual Start” for Repeat From field.
What do you think??