I had a request to block a bunch of jobs in order to allow another to perform a maintenance task on the related servers/applications , but only for specific date and time window(example for next Thursday from 5h to 14h)
So what is the best solution? Wake up at 5 am and perform a hold on all the related jobs?It can be possible but a bit tiring 🙂 , so let’s try a workload policy ( WP )
NOTE: You can get another reminder in a previous blog made on workload policies here from Marc Wagner my colleague .
How to hold all jobs from an application using WP?
Control-M Workload policy is a powerful tool you can use to manage your jobs without holding them manually, you have many options to schedule this action and you can select may ways to do that for example avoid jobs to be executed on a specific node/host or avoid jobs members from the specific application to run, you can also hold by jobname (we will use the last one)
I created two jobs to test that WP, we will create this policy follow the below steps:
- go to monitoring and add a new workload policy
- select action to perform ( here avoid jobs to be executed by selecting job to run 0 option )
- activate the workload policy
- check if jobs are assigned to the workload policy in monitoring domain
In tool part select workload policy monitor
Select open Workload policy manager
Click New and fill the required fields of the Wokload policiy you created ( first add the jobname to held use * symbol to select multiple jobs, select 0 in the field Running Job Control-M Server Period)
Don’t forget to click on apply changes
Now you WP is created let see if your jobs are now impacted
Here you can see that all days all hours are selected on Running Job Control-M Server Period so we will have to care about time window and also about a specific date
you can see that the job belongs now to the workload policy and we specified that max jobs allowed to run is 0 so NO job assigned to this workload policy will run
Workload policy for a specific date
what is happening if we have to specify a date to hold these jobs??We have to use the WP fields to input a specific date and hour.
when you configure workload policy and you have to specify a specific date and hour you must take in account the new day procedure time ( for our example jobs new day procedure is at 12h00 ,noon )
and this will have a huge impact on how to configure a workload policy for example to avoid a job running at 9 AM we will demonstrate that below:
suppose we want to hold the jobs between 9h15 and 16h30 , will fill the fields with date and time
Now let’s see if job is assigned to this WP
Looks good,so we can expect that the job will be held between 9h15 and 16h30
But it was not the case , it ran , until I have updated the WP with the correct date and time (at 9h22)
By looking to the log job was submitted and completed at 9:21 , then after my WP update it was held , so what happened????
The fact is that the job running on date 06/12 after 9h15 is a job with ODATE ( order date ) corresponding to the 05/12
so what does it mean?
It means that the specific date to be added in WP field must be the ODATE and not your computers date or general date ( remember new day procedure parameter set to 12h00 )
So if we want to hold the job for the 06/12 at 9h15 we need to update WP to be set on 05/12 at 9h15 and not 06/12 at 9h15
if you nee to hold jobs or perform any action on many jobs or machines, you can use workload policy
But be careful about specific date/hour assignment ,you need to be aware about the time of the new day procedure as the configuration of the WP will refer to the ORDER DATE of the job
I hope you enjoyed this use case and stay tuned for other tips of course don’t hesitate to take a look to other dbi bloggers and also to BMC support site to get more and more tips 😉