Automic Workload Automation

 View Only
  • 1.  External dependency

    Posted Dec 24, 2013 03:38 PM

    I must be missing something really easy or my expectations of how an 'external dependency' works is invalid.  I have tried several different ways but cannot figure out how to accomplish an "ENDED_OK_OR_INACTIV" scenario.  For a job/object in a flow that is a successor to an 'external' the properties/dependencies settings for the 'status' only has 3 options (as listed in the manual).

    • ENDED_INACTIVE - the external dependency is inactive due to Calendar conditions or manual interference.
    • ENDED_SKIPPED - the expected end status of the external task did not occur within the defined time span. According to the specification made in the external dependency, it is skipped.
    • ENDED_OK - the external task's expected end status occurred. Thus, the external dependency is fulfilled.

    How or can you accomplish an expected 'status' of "ENDED_OK_OR_INACTIV"?  I know this is not an option....is this controlled by the  'expected status' of the external itself.  This is what I am starting to test now.

    Meaning in a flow if an external is defined to run daily and has successors but that external job/object only runs 'workdays' this 'blocks' on the weekend. 

    Ideas?



  • 2.  External dependency

    Posted Dec 30, 2013 03:46 PM

     

    Using calendar keywords on the Calendar tab of the properties of the external dependency object should allow the external dependency to be skipped on the weekends.



  • 3.  External dependency

    Posted Dec 31, 2013 05:07 PM

     

    This is an example of the available options on the dependent job for the external.

    The "ENDED_OK_OR_INACTIVE" is a ‘standard’ job and a common 'STATUS' value I am using.

    The 3 options as listed above is what is causing the problem, these are the only options as ‘Status’ selections for an external dependency.

    I would think you would have any of the available 'status' setting as any other job...not sure why there are only 3 (4 counting 'blank/nothing') for externals. 

     To me this would be a basic 'external' methodology and that is why I am thinking I am missing something easy...but I have tested this a bunch of different ways....no luck.


    mailto:automicsoftware+d596=email.vanillaforums.com@vanillaforums.com] On Behalf Of Cynthia Denning
    Sent: Monday, December 30, 2013 1:46 PM
    To: Shindle, Fred
    Subject: Re: [Automic Software Community] External dependency

     

    Using calendar keywords on the Calendar tab of the properties of the external dependency object should allow the external dependency to be skipped on the weekends.



  • 4.  External dependency

    Posted Mar 12, 2014 12:39 PM

    I would also like to hear an answer to this one.

    For example, let's say workflow A runs on Sundays only, while Workflow B runs daily.  Workflow A needs to be an external dependency for workflow B....meaning workflow B needs to wait for Workflow A to finish on Sundays, but can ignore the external dependency otherwise.

    How exactly would one set this up?  

    Presumably you would use the external dependency's calendar tab so that it only applies on Sunday....but then it finishes with a status of ENDED_INACTIV on Mon-Sat.  

    Do I need to create two external dependencies for the same object...one with an expected status of ENDED_OK and the other with ENDED_INACTIV...and feed them both into the next task using a dependency rule that says 'At least one must match'?  Has anyone else done this?

    I strongly agree with Fred that there needs to be an ENDED_OK_OR_INACTIV (or ANY_OK) dependency option with external dependencies.



  • 5.  External dependency
    Best Answer

    Posted Mar 18, 2014 10:41 AM

     

    • You must use Expected Status on the External (if you leave it blank even a failed run satisfies the external)

    • ANY_OK includes ENDED_OK, ENDED_INACTIVE, and ENDED_SKIPPED.

    • Do not also assign a status on the dependent task – there you only get the option of ENDED_OK, ENDED_INACTIVE, or ENDED_SKIPPED.  Let the “Expected Status” handle this

    • With the later release of V9, they ANY_OK_OR_UNBLOCKED was added so that unblocking a failed task in a Workflow also satisfies the External.  Unblocked is only a Workflow related option so to use this Task’s Parent must also be defined in the External Dependency

     



  • 6.  External dependency

    Posted May 31, 2016 03:46 AM
    Hello,

    I dont have an option to use ANY_OK_OR_UNBLOCKED. 
    I have to use ENDED_OK. But if the job that I am using as external dependency fails and is later unblocked, will it trigger the dependent job? Or will I need to manually trigger the dependent job?

    Thanks!


  • 7.  External dependency

    Posted May 31, 2016 12:20 PM
    I think it will trigger the dependent job.

    However don't take my word for it.  Set up your own test to be sure.


  • 8.  External dependency

    Posted Jun 07, 2016 09:23 AM
    Sometimes old style is a solution .... :)
    You can also use a Sync Object if you don't have too many external dependencies to manage.
    Set the Sync Object (with a Script Object i.e. that doesn't takes time or resources) to "Sunday_Run" status on Sundays before any of your 2 jobs (daily and Sunday) is scheduled. The Sunday job will set the status to "Daily" at normal end. You daily job is just checking if the status is "Daily" to start and doesn't changes the status of the Sync Object. So every day it runs without waiting for the Sunday job to complete, on Sundays it waits until it ends.
    Sync Object Status
    • "Sunday_Run"
    • "Daily"
    Actions performed
    • "Check_Sunday" changes status from "Sunday_Run" to "Sunday_Run"(does nothing on the status) to allow Sunday job to run first
    • "Ending_Sunday" changes status from "Sunday_Run" to "Daily" when Sundays job ends normally and free Daily job that is waiting
    • "Check_Daily" changes status from "Daily" to "Daily" (does nothing on the status) to allow daily job to run, after Sunday's job on Sundays, immediately the other days
    • "Set_Sunday" changes status from "Daily" to "Sunday_Run", used in the Script object on Sundays before starting any of the jobs to create the dependency.

    You can add other statuses and actions to block the dependencies, in case of error in a job, etc ... but basically you just need this.

    OK, looks a bit complicated initially but is less confusing than the external dependency with all the statuses, time frame, etc .... The external dependency for me is more dedicated to fill a functionality that is issued from the conversion from other schedulers rather than a really usable functionality in a logical and usual scheduling in AE.

    Hope this can give another point of view on a solution to your problem.



  • 9.  External dependency

    Posted Nov 02, 2017 06:05 AM
    Steven_Nguyen_130 petwir

    Hello, With V11.2 we have an expected status as "ENDED_OK_OR_UNBLOCKED". But this does not seem to work. On my external dependency I have set this status but whenever the job (that is used as external dependency) fails and is unblocked the external dependency is not fulfilled. We have to remember and manually set the external dependent task to Inactive for downstream jobs to trigger. Is there any change that I need to make for the external dependency to be fulfilled on unblocking the job?