Hello, good morning, good afternoon, good evening everyone. Welcome to this month's Connect with Control-M job scheduling techniques. My name is Ruben Villa and I support Control-M products for distributed systems in America.
Would you like to learn how to schedule a job on the last day of each month without using a calendar? How about moving that day to the next working day using a confirmation calendar? Today, We will be talking about how to schedule jobs to run or not run on specific days without using a calendar, taking advantage of confirmation calendars, adjust rerun settings to affect the timing of cyclic jobs. I would like to introduce today's panelists, Richard Talbert and Roni Cabrera from Support. If you have any questions at any time of this presentation, please feel free to enter them in the Q&A panel.
We will cover them at the end of the session. Finally... You can save this presentation by going to File and Save. Now, let's take a look to the agenda. This is the agenda of this session.
We will start by seeing the schedule options, rerun settings for cyclic jobs, confirmation calendars, and time from and until. And then, we will finish with the Q&A session. Now, let's check the schedule options.
In the job properties, We have the scheduling tab and in there we have the schedule options. As you can see here you have all these options to achieve your specific scenarios regarding the scheduling of the job, by running every day, Mondays, based on calendar or advanced scheduling. Now let's see the rerun settings or cyclic jobs. Okay, for the cyclic jobs we have three options, rerun every, that with this option you can say to the job to rerun every two minutes, two hours, or even two days. The other one is in interval sequence, where you can be more specific and say to the job to run every one day, eight hours, or 52 minutes, or seven hours and one minute, for example, and the specific times where you can enter the timing manually.
You can say 10 a.m., 11 a.m., 11 and 1 minute, and 12 p.m., and you can put multiple specific times in there. And another part of the cyclic jobs and the other jobs are the post-processing, where in the cyclic jobs you can play with the failure count and the wrong count of the cyclic to perform another actions, like send an email or stop the job to be in a cyclic job and stop the running, okay? Another thing about the cyclic jobs are the interval.
So how the interval works and what are the options for this? Well, we have the start, end and target. The start option, it will change the interval of the cyclic job if you pass or miss two or one cyclic interval. So this means that if the job starts to run at 1 p.m.
and 30 minutes and ends at 1 p.m. 1 p.m. and 42 minutes with an interval of 5 minutes, then you already missed two interval run-ins, okay? So, this will change the interval from 42 minutes to 47 to 52 to 57, okay?
The intervals from end, it will change this interval as well, but from the end of the execution, from the last execution. So, if you have a delay, for example, example of 12 minutes and the interval is of 5 minutes, then you will change the interval cyclic for 5 minutes as the other one of 52, but this will be from the end of the execution. The last one is the target option.
So with this option, it's almost the same as the start, but with this you will keep the original cyclic interval. If you have a job running every 5 minutes from 1 p.m. and 30 minutes, it will keep that interval, so 1 p.m.
and 30 minutes, then 45, 50, 55, and so on. So these are the options for the cyclic interval. Now let's see the confirmation calendars.
This is the part of the scheduling definition where you can use a regular calendar to be able to shift the working day. So we are talking about the working day, okay? So if you have a job that falls on a weekend, the schedule falls on a weekend, and you don't want to run that job on a weekend but order it on the next working day, that's when you use the confirmation calendar to shift the working day to the next, to the previous, to order the job anyway or to not order the job. These are the confirmation calendars. Now, Let's see the time from and time until.
Well, as you know this is the time range for job submissions, so if you set a job from time from 7 am and the two time until 6 pm, this is going to be the time window where the job is going to be able to submit. Okay, now you have another two options, the end of the day and allow submission past next day. The end of the day that will do is to allow the job to be able to run until the new day time.
On this example, on this timeline, you can see that the from time and the end of the day is at 7 a.m. So you will have all this time window or the job will have this time window to run, okay? And the allow submission passed next day, it will tell to the job that he is going to be able to run even after the 7 a.m. or the new day time.
So when the time, the new day arrives at 7 a.m., he will continue having this time window to submit or to submissions. Okay, so this is example, the timeline of time from until and the options that we have. Now we are going to demonstrate all these options.
I want to show you the cyclic job examples, some scheduling job examples and how you can use the confirmation calendar. Let me share my desktop. If we go to the workload automation, to the planning, I already have these cyclic jobs. already made in the scheduling job example. So let's take a look to the cyclic job first.
Let me open the properties of this job. I will go to the scheduling tab, and as you can see here, you have the rerun settings. Well, you have the cyclic checkbox already checked here on this example. We can go to the set, where you can set up the option for the cyclic.
On this example, I have the rerun interval for rerun every 50 minutes. Okay, so this job will run every 50 minutes. So, if I click here, you can see that you can choose from these three options, minutes, hours and days. Now, let's see the other option.
Let me close this window and go to the interval sequence job. If I open the properties, I go to scheduling, you will see that has almost the same configuration, Veroon settings, the cyclic checkbox already checked, I go to set, and you will see that the other option is Veroon using the following interval sequence. Okay, so this is where you can be more specific like in this example, 7 hours and 15 minutes, and here as well, you can choose from minutes, hours and days. These are the intervals that you can set for the cyclic jobs. As you can see here, this one is using end, and if I click here you will see the option start end.
This is for the rerun following SQL intervals. The rerun every will have the target options as well. So let me close this, and I will go to the last cyclic job example, the specific times.
Let me open the configuration. I will go to the scheduling tab and I will go to the set of the cyclic and you can see here that the specific times are already selected. And here is where you can put these times manually and also you can be specific with the timing of this, right?
You can put 10 am and 5 minutes or 10 am and 20 minutes, 11 am, 12 pm and you can add. multiple times here. With these options you also have the tolerance. in minutes. So what this means, let's see the first two timings.
As you can see here, the first execution is at 10 a.m. and 5 minutes. So the next one is at 10 a.m.
and 20 minutes. Okay, so if the job of the first executions has not ended at 10 a.m. and 20 minutes, this job will have a tolerance of 5 minutes to wait for that first execution or the execution that is running right now.
to have another five minutes, so if that execution ends at 10 a.m. in 22 minutes, the job will be able to run and we'll have until 25 minutes to run, right? 23, 24, 25. So this is the tolerance and this only works for the specific times.
So now let me show you some examples of how these jobs are working in the monitoring domain with the same configuration. So let me open the configuration for the 50 minutes. job. Okay, let me drag this window here, go to the scheduling, and now I will show you the log to show you how this job has been running since the new day. Okay, as you can see here, this job was ordered at 7 a.m.
and was executing at 8 a.m. This is the initial start time. The next one we are expecting to be every 15 minutes, so as you can see here, It's already on 50 minutes. If I scroll down, the next one will be another plus 50 minutes, 9 and 40 minutes, and this job will continue until the end of the day, the new day time, until 7 am again.
Okay? Now this job is using the start interval, but as this job is not taking too much time to end, the interval is not changing. on these examples, okay? I will show you that example later.
So, let me go to the another example, the interval sequence, okay? Let me open the job configuration. Now I will do log that job and as you can see here, rerun after the following interval, 7 hours and 15 minutes.
This job was ordered at 7 a.m. and started at 8 a.m. Okay, but he's waiting for the next interval, so let's see when it's going to be that one. Okay, so I'm going to do waiting info.
Why? You can see that the next one is an 8 hours, 7 hours and 15 minutes. Okay, so this is how the interval sequence works, and this one is using the end interval as well. You can see here from jobs end. As this job is not taking too much time, the cyclic interval is not changing as well as the other example.
Now let's see the specific time example that is already running. So let me open the properties, go to the scheduling tab, okay. Now let me open the log for this one. As you can see here, this job was started or was ordered at 7 a.m. and started to run at 9 a.m.
Okay, so you can see the timings here, right? 9 a.m., 9 and 10 minutes, and 10 a.m. and 5 minutes.
The first execution was at 9 a.m., so we are expecting that the next one will be at 9 a.m. and 10 minutes, but with this example, I put a delay on the job to end at 12 minutes after, right? So you can see here that ended 12 minutes after the beginning. So... As we have the tolerance, let me drag this window here, tolerance of five minutes, as I told you before in the planning domain, this job has the opportunity to run even after five minutes from the next execution time, so 9 a.m.
and 12 minutes, it's okay for this job because he has a tolerance of five minutes. Okay, you can see that ended at 9 a.m. and 12 minutes.
and was already executing at that time, because the expected time was at 9 a.m. and 10 minutes. This is how the tolerance works, okay? And this is how the cyclic jobs work, but what about the options of intervals from an end, start, or target? So, let's see how the end works.
So, let me open the configuration of this job here. If I go to the scheduling tab, You can see that this job is going to run every 10 minutes from jobs end, this is the interval from the end of the execution. So if I open the log of this job, you will see that was ordered at 7 a.m. and started to run at 8 a.m. Okay, so we are expecting that the next execution is at 8 a.m.
and 10 minutes because it has an interval of every 10 minutes, okay? But this job doesn't end before that time, it ended at 8 am and 50 minutes. Okay, what the interval from jobs end is going to do is to change the next execution time from the and the time, so 8 a.m.
and 50 minutes plus 10 minutes, that will be the next execution. So this job already changed the initial interval from 8 a.m. and 8 a.m. 10 minutes, 20 minutes, 30 minutes, from the 50 minutes from the last end of the execution, okay?
So as you can see here, it's running from that time, from 50 minutes, 25. Let me scroll here, 35 and 45, this is how the interval from jobs end works. Okay, now let me go to the start, to the interval from start. I will open the configuration of this job and I go to the scheduling tab as well. You can see that this job has the configuration to run every five minutes from job start.
If I open the log, you can see here that the job was ordered at 7 a.m. and started to run at 8 a.m. o'clock, right? So this job has a delay of 12 minutes.
So we were expecting that the execution of this job was at 8 a.m. and 8 a.m. plus 5 minutes plus another 5 to the next one, 8, 5, 8, 10. a 15, right?
But he already missed two execution times. What the start interval will do, sorry, is to execute the job right away after the last execution, okay? So you can see here that was executed again at 8 a.m.
and 12 minutes because he's already to execute again, expecting from the last execution. But... is going to change the interval after that start time.
Okay, from here you can see that it's going to add another five minutes to the 8 a.m. in 12 minutes and you can see here that the execution or the next execution is at 8 a.m. in 17 minutes. Okay, and from there it will work 22, 27, if I just scroll down.
and 32. So this is how the start works, it will change the interval sequence from the next start execution if you miss one or two execution times. Okay, now let's see the last example of the intervals, intervals from target. So let me open this configuration and I open the log as well. If I go to the scheduling, You can see that it has the same configuration at the start, but the only thing that we changed here is the target option, right?
So, rerun every five minutes from 8 a.m. to the end of the day. So, it was ordered at 7 a.m., started to run at 8 a.m., and ended at the same time as the start option, you know, 12 minutes. What the target?
target option will do is to keep the original sequence or the interval sequence, okay? So if we were expecting to run every five minutes from 8 a.m., it will run, we were expected to run 8 a.m. in five minutes, 10 minutes, 15 minutes, and then 20 minutes.
So this target option, it will keep the 15 minutes or the five minutes. interval from the original start time. This is how the target work. As you can see here, 15 minutes, 20 minutes, and 25. So these are the options of C-ClickJob and how you can work with them. And you need to specify how the intervals are going to work if you have a delay in the executions.
Remember that you have end, start and target. So now let's go back to the planning domain to continue with this demonstration. Now we'll go to the scheduling jobs to show you some examples of how you can perform some scheduling. Okay, let me open this scheduling info job just to show you the scheduling options. I go to the scheduling tab and you can see that here on the schedule you have All the options that I already mentioned, every day, weekdays, non-specific days, right?
Some of them are really specific. like or you can understand them every day, daily basis or to know all of the job anyway or on the weeks of the day, right? So let me close this one and let me go to show you to the first example, the last Sunday of the month, okay? And let me open this job and I will go to the scheduling tab here, okay?
As you can see here for this job I already selected Mondays, right? With the option of this feature about days from end of the month, okay? As you can see here we are trying to run this job on the last Sunday of each month. So, we already know that in seven days we will have a Sunday, right? It's a week, we only have a Sunday here, only one.
So, we select the last seven days with a limitation or here as you can see only if weekdays are Sunday, okay? But how can you be sure that this is going to work? Well, for the scheduling thing we have the view schedule button, okay? With the view schedule button you need to have the forecast server installed and enabled. on your Enterprise Manager.
With this option you will be able to see if the configuration that you have here is the one that you want. Okay? If I click here, this open will open.
If I go to the 2016 year, you will see that my configuration is the right one, because if you pay attention here to the months, you can see that we have only selected the last Sunday of each month. Okay, remember that to have this view scheduling option here, you need to have the forecast server installed. It is very helpful. So now let me go to the exclude rule base calendar and how the rule base calendar, the exclude rule base calendar works.
So I go to the scheduling tab here as well. You can see that I am using a specific rule-based calendar. Okay, so let's take one example. Let's say that in your company, your maintenance team has to do some cleaning of the directories on your Windows machines. Okay, and they have created this series of jobs to run on your Windows machines.
Okay, so they also created this calendar. to run their jobs. So their needs of the maintenance is to run these jobs on these days.
Okay, they have to run it on these days because this is how they need to perform this action. So if I go to the view schedule here as well, you can see that they selected a lot of days, right? We can say random days, but for them they need to run these jobs on these days, but your company has rules or this company has rules to not run any maintenance jobs during the week or from Monday to Friday. So they already have done this calendar okay to run their jobs but you want to be sure that they are not going to run these jobs on working days so this is how this is when you use the workdays there exclude rule-based calendar and a workdays calendar.
Okay, if I open the configuration here, you can see that this calendar is using weekdays from Monday to Friday. If I go to view schedule, you will see that it's very simple from Monday to Friday, okay, all the months. So, if you are using this calendar in the exclude rule-based calendar list, these are the days that are going to be excluded from the other. maintenance calendar. Okay, remember that they have a lot of days selected, Mondays, Thursdays, Tuesdays, Fridays, but you don't want to run this job on those days.
So you are using the exclude rule base calendar to exclude those days. So if I go to view schedule, you will see that with the exclude rule base calendar, we are excluding those working days, right? Monday, Tuesday, Wednesday, Thursday and Friday.
So this job will only run on weekends, Saturday and Sunday. This is how you can use the exclude rule-based calendar option that we have. And in this way you can be sure that your needs and their needs of the maintenance team have already done.
And they are not affecting your production and they are only running jobs on... weekend, for example. So now let me go to the last example, the payroll job, okay?
On this example, you have the need to run this job, the payroll job, on the 15th and the 28th, okay? And this is very simple to do, right? You select the 15th and the 28th. But you know, or your company has the policy to not run these jobs or these payroll jobs on weekends or holidays, right? But you need to run this job every month.
So the need of your company is to move that day to the previous working day if they fall on a weekend, okay? This is when you have to use the confirmation calendar and the confirmation calendar will help you to achieve this, okay? Let me scroll down here and you will see the option of confirmation calendar. Confirmation calendar. you only can use regular calendars.
Here I have the same calendar, workdays calendar. If I click here view, I will see the configuration of this calendar. So with this confirmation calendar option, we have the exception policy that we are saying to the job, order on previous confirmed day. So if the 15th or the 28th falls on a weekend, It will shift the day to the previous confirmed day.
Okay, so let's see how this works. If I go here and go to Bioschedule, we go to the 2016, and let's see January. As you can see here, the 15 and the 28 from January are okay because they are falling in the...
in the week from Monday to Friday, right? Not the weekends. But in February, the 28th is a Sunday.
So the job will not run on that date, but it will work in the previous working date. So it will shift the confirmation calendar, it will shift the 28th to the 26th, to the previous one. So let's see another example.
For example, in May, you can see that the 15th and the 28th falls on a weekend, okay? So the confirmation calendar is moving that date to the previous working day, the 13th and the 27th. And this is how the confirmation calendar works, okay? For the confirmation calendar you have these options as well to order on next confirmed day or do not order or order anyway, so you can say to the job, well, If even when you don't have to run on weekends, you can order it on weekends or move it to the next confirmed working day. Okay, so let me stop sharing my desktop and we can go back to the slides.
Okay, one second and here. So this is where I demoed cyclic job examples, scheduling job examples and the confirmation calendars. and how to use them. Here you can see some of the knowledge articles that we already have and some of them are already there in our knowledge base.
You can go there and search for them. You can find these tips and tricks on how to schedule your job in some very complex scenarios. And this is the end of the presentation. Thank you for taking time of your day to attend.
I hope the information provided was useful. You will be receiving a survey as you close the webinar. We encourage you to fill it out and provide feedback on where we can improve and any other future topics that you would like to see. You can follow us on Facebook and Twitter.
Our past webinars can be viewed on DMC communities, YouTube and iTunes. Today's webinar will be posted there in a couple of days. Our next webinar topic will be promoting jobs between environments on September 28. We also suggest you to visit BMC Communities site to get connected with other users, view webinars, post questions and search for answers.
BMC Communities is on the bmc.com homepage or can be accessed by at bmccommunities.bmc.com. Now we can start with the Q&A session. Please post your questions to all on the Q&A panel. While we address all these questions, I will...
bring up this last slide, listen the recent webinars. Thank you.