Last modified at 3/16/2014 12:19 PM by Koen Zomers
I recently created a custom workflow for my SharePoint 2010 application. It must keep running in a loop until a task succeeds and then continue with its flow. I used a loop in my workflow together with a delay set to one minute. Testing it on my development machine, I found out that it only enters the function once every 5 minutes. Even though the delay is set at 1 minute. After some research I found out why. The workflows are controlled from a timer job called "Workflow". This timer job is set to execute once every 5 minutes by default. Therefore only every 5 minutes is being checked if the workflow should continue and my delay value of 1 minute is therefore ignored. You can see this timer job by going through the following steps:
  1. Open Central Administration
  2. Go to Monitoring and under Timer Jobs click on Review job definitions

  3. In the list with timer jobs, look for the timer job called Workflow and click on it. You probably have to move two pages forward to find it.
  4. In the Recurring Schedule section you will see the 5 minute definition

Unfortunately changing this value to a lower value will not solve the problem of the workflows only being triggered once every 5 minutes. They will still only be triggered every 5 minutes. Even running this job manually will not trigger the workflows.

I'm still looking for a way to lower this value. I haven't found a solution yet, but will update this page when I do.

An important thing to notice is that when you set your delay in your workflow to being 5 minutes also, it might very well occur that the workflow will only be triggered once every 10 minutes since the current time + 1 second execution time for the workflow > current time + 5 minutes when the next workflow action runs. So if you want to use the lowest possible value of once every 5 minutes, be sure to set your delay to something lower than 5 minutes.