PDA

View Full Version : Parallel Step Execution


wrdouglass
02-26-2008, 06:38 PM
I'd like to see a mechanism to run 2 or more steps at the same time, with a way to eventually "wait" for them to be complete at some point before the script continues.

Such as:

Step 1: Fetch from SS "branch 1"
Step 2: Fetch from SS "branch 2"
Step 3: Wait for Step 1 completion
Step 4: Build branch 1
Step 5: Wait for Step 2 Completion
Step 6: build branch 2

So steps 1 & 2 operate simulataneously, step 3 waits for the successfully finish of Step 1, Step 4 then processes, Step 5 waits for Step 2 to finish (if it hasn't already) then Step 6 proceeds

It takes a large amount of time to fetch our branches (10-15 minutes, specifically for branch 2) which is basically wasted time since Branch 1 needs to be built before Branch 2 can be built (dependency) if they are done in succession.

I'm sure there are a lot of other relatively simple scenarios that could use the same approach to speed up the build process.

kinook
02-27-2008, 08:04 AM
You can't do that now with the SourceSafe action itself (this will be supported in all Run Program-derived actions in the next release), but you could use a Run Program action calling SSHELPER (http://www.visualbuild.com/Manual/sshelper.htm), mark the SSHELPER steps to not wait for completion, and use Wait steps to wait on each process to complete (see attached sample).

Another option would be to use two separate projects (or the same project with parameterized values for branch name, etc.) for branch 1 and 2 (if you want to get, build, etc. all in parallel) and launch them in parallel (see the end of the Chain.bld sample (http://www.visualbuild.com/Manual/chainsample.htm)). This way would also allow you to use the SourceSafe action directly.