we have a requirement where we have dependencies like A-> B -> C -> D,E,F and in turn long chain of intra as well as inter dependency (complex) and is coming in to monitoring pane but is in WAITING state for dependencies to met or some other reason.
However, at a given point of time, when we have a business requirement where in application teams asked us that they don't want the whole flow should not be running for today or for future, then is there a way by which I can cancel the whole flow or just a main trigger point, (in this case A) application so that I don't have to manually take any actions on successors.
I don't see any option which will do that. If I am marking the application as COMPLETE, then it in turn will mark the jobs as COMPLETE and those jobs in turn will trigger the successors if any which I don't want.
What scheduler are you running?
CAWA-Dseries, VERSION 12.0.0.SP1
You can Force complete an application, and update the comments. You can also require a user to enter a Reason when the application is being force completed. To do so, check 'Require Reason for job commands' in the Application Properties. There isn't any CANCEL command, but the Force complete of an application pretty much acts as if the application did not run.
If I will force complete an application, the jobs inside that application will change to completed (FAILED/SUBERROR/EXEC) which in turn will trigger the successors. So the whole point or need of cancelling the application is that the successors won’t run at all which will not be possible in the current situation.
When you Force Complete an application, all the jobs are forced. You will see Forced in the Conditions. The dependent jobs within the application will simply completed, they won't run or get executed.
If you have external dependencies, and you are forcing the home application, then you will need to make changes to the 'External' waiting job, e.g delete the dependency to successor job(s).
If this is a routine case, where you have to frequently cancel applications, then you will need to look at other features of CA WA DE, such as Resources, global variables etc.
This is not a regular situation which we are in to. However, taking the manual actions on a series of successors can only be feasible when we have handful applications as predecessors and successors. Consider a case where external dependencies count is huge then this option / suggestion / workaround will not work and ultimately a simple and easy approach is to have a CANCELLATION FEATURE which can lead to hassle free and easy to manage the complex business flows.
The CA WA DE is designed to automate your processes without regular manual intervention. Cancelling a job or an application defeats the overall automation. However, we have a Manual hold feature in case any manual intervention is regularly needed. Anyhow, the end result of every job and application is for it to complete.
Since this is not regular occurrence, you should look in to the above suggestions, such as Resources, shared by different Applications. You can manipulate Resources very easily and quickly. We also have CLI commands that change the Resources.
For more information on DE and other features, please consult the documentation.
So “The CA WA DE is designed to automate your processes without regular manual intervention” doesn’t apply fully and it is the case with every scheduling tool (Autosys, control m, TWS, $universe, Automic etc) where everything cannot be automated or need to have some manual intervention.
Manual interventions / Workarounds can be more easily acceptable in complex situations.
Having a direct CANCEL option (like Complete, Release, Trigger, HOLD) will make more sense to business / client / application /support teams instead of opting for workaround for a simple feature which every other scheduling tool has.
Hope to see CANCEL function / feature in DESERIES in next 2 or 3 years down the line.. iff we have strong count of likes / posts on CA Community for this feature as well as if it matches / suffice CA vision / business methodology.
Thanks for your updates.
Since you have mentioned other schedulers let me explain this in that context
There is a difference between Box jobs in Autosys and Applications in Dseries. In Autosys Box jobs can be nested under another Box job and hence holding it manually stops the dependancies from running.
In Dseries there is no concept of nested applications. The Applications are designed to be independent. Using Alerts to trigger another application is not the norm. So completing an application in general will not trigger another application.
No Darryl, it is not about AUTOSYS.
DE SERIES is most likely other Tools like Control M and TWS and works in same manner.
The simple question is if an application needs to be cancelled (be it independent or dependent) we simply can’t do that which we can do easily in AUTOSYS/CONTROLM/TWS etc.. and in workload enterpreise envt.. it is a common thing or request where support team gets requests to cancel the run for today etc.
So as we have mentioned, Force Application is same as Cancelling the run of the jobs. This is used by our customers regularly. It may or may not fit every setting or environment. Also, we suggested several other ways where you can still stop/cancel an application.
If you have a very specific business logic, then please present them here and maybe other members of communities can provide some more suggestions.
"when we have a business requirement where in application teams asked us that they don't want the whole flow should not be running for today or for future"
Can you provide additional details on that statement?
How/when is that decided?
Can that logic be coded into the Application so that the desired behavior is attained and NO manual intervention is required?