I have a workflow that runs when files are uploaded to my doc library, works fine no issues. Some users have to upload multiple files at once and find it is more efficient to use the windows explorer method and move multiple files into the doc library that way.

Again, this seem to work fine unless there are more than 15 documents at which point I seem to experience issues. I have a scenario where a user has uploaded 25 documents and the workflow ran on 15 of them and didn't on the last 10. When I look at the workflow status it is stuck in a "starting" state, but never actually runs. I can reproduces this, it happens every time with the workflow running on the first 15 not on the last 10.

I have not been able to find any documentation on a known limitation in this regard, does anyone have any info on whether this is a Sharepoint limitation or if there is something that can be done?



Yes. In most cases by default you cannot start more than 15 workflow instances nearly at the same time. You can increase this limit (I think up to about 30 or so) but you should try to avoid doing that for performance. The idea is you can't have too many (about 15) workflow instances being called to memory at the same time. SharePoint does have a queuing mechanism to queue workflow start events but it still doesn't handle this issue very well. please check this post Is there a limit on workflows running?

Read more about limits of SharePoint workflows here.https://technet.microsoft.com/en-SG/library/cc262787.aspx

Update: This is limit can be configured by using the Set-SPFarmConfig Windows PowerShell cmdlet. For more information, see Set-SPFarmConfig.

Throttle Size: Is a farm setting in which system defined for the maximum number of concurrently running workflows on the farm, The default value is 15 To check the exisiting configuration you can run this powershell command

Get-SPFarmConfig | Select WorkflowPostponeThreshold 

to modify this you can use

Set-SPFarmConfig -WorkflowPostponeThreshold 50 

where 50 is value you set to run for concurrency.

Batch Size: It is the items that are allowed in the queue of the Timer Service. Since Timer Service handles lots of other services, workflow is not necessarily its main priority. To check the exisiting configuration you can run this powershell command

Get-SPFarmConfig | Select WorkflowBatchSize 

to modify this you can use

Set-SPFarmConfig -WorkflowBatchSize 150 

where 50 is value you set to run for BatchSize.

  • Great exactly the info I was looking for, thank you very much. – mgrenier Apr 13 '17 at 14:10
  • I am wondering if there is a way to queue addition workflows so that when one finishes the next starts...do you know of any way to do something like that? – mgrenier Apr 13 '17 at 14:25
  • Check my updated anwser – TARUN Apr 13 '17 at 14:27
  • FYI the queue doesn't seem to work...they just get stuck in a "started" state but never run as mentioned. – mgrenier Apr 13 '17 at 14:51
  • please check this link praveenkasireddy.wordpress.com/2013/06/14/… – TARUN Apr 13 '17 at 15:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.