views:

370

answers:

2

For example if I add four (blank) script tasks A1, A2, B1, and B2, where A2 has a constraint to run after A1 and B2 has a constraint to run after B1, but neither A1 nor B1 have constraints, then what order will the tasks run?

When I try this it seems to do A1, then B1, then A2, then B2. But why? This question out of curiosity.


Edited to add:

I've specifically set parallelism to 1 and added message boxes so I can see the order it's taking. It always takes the same order that I note above, but was curious as to if there was any logic as to why it chooses this order.


It seems to do all the level one (unconstrained) tasks first then continue with constrained tasks.

+1  A: 

I always see things like this run in parallel.

So A1 and A2 will run and then B1 will start as soon as A1 is done and B2 will start as soon as B1 is done.

Unless you explicitly put a constraint, there's nothing to stop both from running at the same time. If your script tasks are really short or you've limited the parallelism, perhaps it will run them in sequence, but I'm sure the sequence chosen is not guaranteed.

Cade Roux
+2  A: 

The package is stored as an XML .dtsx file. Without constraints, the objects will execute in the order they appear in the file.

Rob Boek
If you like my answer, you should accept it and vote it up. Thanks!
Rob Boek

related questions