Push a cyclic job beyond the NewDay

All questions about Control-M jobs definitions
Post Reply
User avatar
soissons
Nouveau
Nouveau
Posts: 10
Joined: 24 May 2011 12:00

Push a cyclic job beyond the NewDay

Post by soissons » 31 Aug 2011 9:57

Hello Guys ! (and girls ^^)

I have a problem...original no ? :D

Ok, i'm goin to explain the best i can (sorry for my bad english...i'm french).

I have a cyclic job he "Run at specific times: 0000, 0200, 0400, 0600, 0800, 1000, 1200, 1400, 1600, 1800, 2000, 2200. Tolerance: 30 minutes."

My NewDays is at 0001 and my run at 0000 is KO
The NewDay remove it...1 or 2 minutes later (but the jobs run on SAP without problem...)
The problem here, is on Control-M for this job i have Condition's job and they wait to start but at 0000 no one start.

How i can force my run at 0000 to execute ? after the NewDay?
I must program my run after the Newday ? Or another thing ?

Well expert....i'm listening you ;)

(and thank you in advance ^^)[/img]

User avatar
SteveR
Nouveau
Nouveau
Posts: 7
Joined: 15 May 2008 12:00

Post by SteveR » 31 Aug 2011 11:54

Hi Soissons

If you set MaxWait="1" (on the "Executino" tab) your job will run next day too.

Hope, this will solve your problem.

Steve

User avatar
soissons
Nouveau
Nouveau
Posts: 10
Joined: 24 May 2011 12:00

Post by soissons » 31 Aug 2011 12:14

Hi SteeveR,

Thank you to take some time ;)

In fact this job is launched every day.

No duplicate problem if i put a MaxWait=1 ?

User avatar
SteveR
Nouveau
Nouveau
Posts: 7
Joined: 15 May 2008 12:00

Post by SteveR » 31 Aug 2011 1:42

Hi Soissons

Some general thoughts:
If your job is ordered every day, why do you want to stretch it?
Most important in defining jobs is:
1. What conditions have to be met before starting the job?
2. What conditions do end a job?

Trying to answer your question:
Some possibilities:
  • - TimeWindow: As NDP on your system seems to be right around midnight, also a time window would do the job (keeping MaxWait="0"). Define TIMETO="2345". That way your last run at 2200 will end easily, but the run at 0000 will not be started by this job, but slightly be delayed and done by the next day's job.

    - MaxRuns="12" (number of defined specific times) and MaxWait="0": That way you'll prevent your job from running more than the runs specified in "run at specific times".
If there is a reason to stretch your job after NDP, it could become a little bit more complicated but possible. Let me know.

Greetings
Steve

User avatar
soissons
Nouveau
Nouveau
Posts: 10
Joined: 24 May 2011 12:00

Post by soissons » 31 Aug 2011 2:58

Hi Steve ^^

the job is the first and launch many others.
No particular condition here (EndedOK => launch the other jobs)

In fact, every run is important and the 0000 run must be completed but NDP remove it...

Your scenario is very interesting, i'm goin to apply it, and hope this solve my problem.

I let you know if your scenario is the good one ;)

Once again, thank you very much Steve to take some time for this ;)

Jérémie

User avatar
nicolas_mulot
Nouveau
Nouveau
Posts: 149
Joined: 07 Jan 2010 12:00

Post by nicolas_mulot » 02 Sep 2011 12:33

Soissons,

First, don’t be sorry being French. It happens to 60 millions people with no problem, and bad English disease does not affect only the French.

You say that every occurrence of your job is important. In that case, how can you manage the rerun of any failing execution with your job being cyclic?
If you can manage rerunning a cyclic job, then limiting the Maxrun to 12 is not a good idea for the extra runs will be counted.

I understand that this occurrence of your job ended NOK by chance and you want this occurrence to finish for its ODAT, probably due to some date dependant input parameters. I then presume you want to be able to rerun it, automatically or manually, once it has failed.

In that case, and due to the time shift between the 00:00 run and the time of the NDP, there are good chances that your job disappears very shortly after the failure, and this is obviously the case. Steve’s proposal to set the MAXWAIT to 1 can address the case but this might raise several problems:
- First, if your job stays cyclic in the AJF, it will conflict, as you suppose, with the newly ordered occurrence of your cyclic job.
- Second, the last occurrence 00:00 will not be submitted, for the timefrom is calculated after the current NDT. The next time limit is 02:00, unless you specify “>” in the TimeUntil

I presume that the control-m parameter CYCLIC_MAXWAIT can help you. As far as I remember, when CYCLIC_MAXWAIT = NOT_KEEP, then the cyclic jobs running during the NDP are not removed (which is common to all jobs running during the NDP), but are changed to non cyclic once finished (the following control-m date).
If this still works as it used to, you will find every day the job of the current date as cyclic and the run of the previous date non cyclic and finished OK or NOTOK, in which case you will be able to rerun it.
The point now is to have to make sure that the 00:00 occurrence is still running when NDP starts. This is certainly not the case, since your failing occurrence was removed by NDP, which means it was finished. This which could be achieved by setting a sleep 60 command somewhere (in your job or in the %%PRECMD).

As you can see, the solution to your problem is not so simple, and one might question whether it is pertinent to define this job as cyclic.

Cheers
Nicolas_Mulot

Post Reply