0

I have a large list that needs to have every item in it updated nightly, with several fields recalculated and so forth. Currently it is updated en masse overnight by an application I wrote that is triggered by Windows Task Scheduler. I want all the items in the list to then update via the workflow once the application issues an SPListItem.Update(). The problem is I've read there is a 15 concurrent workflow limit, whereas I need it to be in the thousands in order for this to happen.

So my question is, what happens when you throw a few thousand workflow instances out there at once? Do they queue up and only run 15 at a time? Or are the rest beyond the 15 just discarded? Is there perhaps a better way to update the whole list at once?

1 Answer 1

1

15 workflows will run at a time and the rest will be queued and will run as soon as the number of running workflows drops below 15.

By running workflows I mean workflows that are currently using CPU and memory, not all those that have been started before and are in "In Progress" state because some of them may just be sleeping (for example waiting for task changed...).

I don't know for a limit and I think there is no limit how many workflows can be queued. Dozens of thousands will not be a problem.

As for the other question about an alternative solution it depends on what your script and your workflow does. Probably can be done with a timer job that would run daily.

1
  • Thanks, that's the kind of answer I was looking for! Well as long as it's not going to cause a problem I'll likely just try leaving a general ItemChanged workflow up and let it do its thing when the list is updated. Seems like the easiest solution to me. I'll be interested to see what the performance impact is, because that may cause me to change my solution, but until then I think simple is better. Commented Mar 19, 2014 at 14:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.