Automic Workload Automation

 View Only

 Start jobs when the first of two branches reach's to it

Jump to  Best Answer
Sagi Abrahamsohn's profile image
Sagi Abrahamsohn posted Sep 17, 2024 04:35 AM
Hello
I have a simple map that have four steps
1st (in Blue) is a general information collection that calls to steps simultaneously. - working
one orange is waiting four 3.00 o'clock  - working
Second orange check in a loop for a flag in a DB and wait until it gets it or until 3.00 am - working
I want the yellow step to start when one of the orange steps finishes without waiting to the other one to finish
The reason I do the orange step that waits for 3 o'clock is that for time to time (once in 2 weeks or so) we have locks on DB and we need the yellow step top start whatever what in 3.00 o'clock or earlier.
is there a way to make it start based on one previous step?
Markus Embacher's profile image
Broadcom Employee Markus Embacher  Best Answer

Hi Sagi,

do you still want to continue the "Check for DB flag" job to continue running and checking, even if the yellow step starts running after 3 hours?

If no, define a maximum runtime of 3 hours at the "Check for DB flag" job and cancel it after 3 hours.

If yes, try using MODIFY_TASK with REMOVE_DEPENDENCY in the "Wait for 3 hours" event to remove the line between the yellow job and the "Check for DB flag" job. 

"at least one status matches" does not work in this scenario, because it always waits for all it's predecessors to finish.

Regards, Markus

Pothen Verghese's profile image
Pothen Verghese

Under Properties for the Yellow step, select Time and Dependencies tab and use option 'at least one status matches'. 

Sagi Abrahamsohn's profile image
Sagi Abrahamsohn

@P Verghese

this is what I did. my first choice - Dependencies tab and use option 'at least one status matches'.

but it does not work.

This work only if all of the previous steps finished.

do not understand it as well.

don't know if it is a bug

Juergen Lechner's profile image
Juergen Lechner

Hi,

I find the definition of your conditions a little bit too complicated.

Can it be reworded to a simple: "Check in a loop for a flag in a DB and wait until it gets it. If this does not happen unitl 3:00 A.M., continue anyway!"?

If yes, then use the Maximum Runtime as advised by Markus. Her you can not only set a runtime but a time in the day (3:00 A.M.) to trigger the deviation reaction - means: end the job. In case you can do this with only one orange box.

Regards,
Juergen