Showing posts with label containers. Show all posts
Showing posts with label containers. Show all posts

Wednesday, March 28, 2012

Precedence Constraints and Sequence Containers

I have about 12 sequence containers mapped out to execute separately based on a precedence contraint and an expression. These lie at the same level and order in my sequence. Only one of these will execute based on an expression. After any of these executes, I have a consecutive sequence container that I'm attempting to execute. I've set the precedence contraint from all twelve of the prior sequence containers to this single sequence container that I would like to run after any of the 12. My problem is that the package will only allow one of these twelve sequence containers to become a precedence of this second single sequence container at a time. The package will let me graphically attach the precedence constraint from all 12 to this single sequence container, but when the package runs, it fails to follow through to this single sequence container. I'm trying to figure out why this is the case and how I can get what I would like to work -- work. Thanks.

Double-click on one of the precendence constraints going into the single sequence container. Near the bottom you will see a drop down that allows you to set it to an OR condition (The constraints will turn into dotted lines)

This means that that will execute if ANY of its precedence cnstraints are satisfied. If you leave it set to AND, then ALL of the constraints have to be satisfied, which will never happen in your case since the other 11 sequence containers will never execute.

|||

Thanks Dave!

I saw that but wasn't sure how that worked.

Precedence "Completion" operation

I have three sequence containers setup to run in parallel. I have a final step that parses the log file and displays results, and I want to this to occur when all three containers have completed, success or failure. I therefore have a constraint from each container that feeds into my final step, and all three constraint types are set to "completion".

When I run the package and one of the tasks within a container fails (and fails its parent, but not the package) the final step is not executed.

If I take off all the constraints except one, the final step is executed as expected.

I am using checkpointing if that has any impact. Disabling it makes no difference.

Any thoughts/alternatives I might try?

thanks

not sure about this...but have looked at the MaximunErrorCount property at the package level?|||

Post parallel tasks not excuting despite completion precedence constraints(s). This sounds like you're using FailPackageOnFailure. Are you?

If a task fails and you've sett FailPackageOnFailure on it, or something in its container hierarchy, the parallel tasks that have already started will still continue post failure. But, from the point the FailPackageOnError is hit, no other task will be started, including the task to which you've linked up the Completion precedence constraints.

FailPackageOnFailure trumps any constraint.

|||

jaegd wrote:

FailPackageOnFailure trumps any constraint.

That was the problem. Removed that setting and now the constraints behave as expected.

Thanks a lot!