Note: If you find this built in scheduler is not flexible enough please use the Windows Task Scheduler.
A short video has been prepared covering this topic. However the documentation below is much more comprehensive.
'CONVERT XLS' includes a built in timer that allows you to run a saved Conversion Job at a specified interval anywhere from seconds to months apart. You have the choice of running the job at a specific time, day and date (Calendar Based) or running it periodically every specified time period (Time Based).
You may want to use this feature in combination with the program options to skip, move or delete an input file after processing to avoid processing the same files again and again.
Before enabling the scheduler, you must have a Conversion Job (*.SII) saved to file. Please see the Saving and Restoring a Conversion Job section for instructions on how to create a Conversion Job file.
IMPORTANT!!! Be certain to REWIND before you save a conversion job file if you want to start from the beginning the next time you load or schedule the file.
Step by Step How To
1. From the Conversion menu item select Schedule A Conversion Job (or simply press F8) to display the job scheduling form shown above.
2. Specify an existing *.SII conversion job file.
3. Select one of the two possible scheduling methods:
Time Based: Use this for jobs that will run continuously every specified time period (e.g. every 35 minutes)
Calendar Based: Use this to select a specific time and day to run the job (e.g. the 3rd day of every month at 10:30 PM).
4. Press Begin to initiate the scheduler.
The title bar of the application will countdown and display the amount of time remaining until the next job is run.
With time based scheduling you specify the time you want to elapse between runs of the conversion job. This can be expressed as a combination of hours, minutes and/or seconds or may be one of the time elements only. For example, 1 hour and 30 minutes may also be expressed as 90 minutes.
If you specify a conversion job to run every hour, each subsequent job will begin running exactly one hour after the start time of the previous job. For example, say you've set the timer to run every hour and it will begin the first run at 12:15 PM. Even if the job takes 15 minutes to run, the next running time will still be at 1:15 PM, then 2:15 PM etc. Please see the Table 1 below.
Start Job |
End Job |
Time of Next Run |
12:15 PM |
12:30 PM |
1:15 PM |
1:15 PM |
1:30 PM |
2:15 PM |
2:15 PM |
2:30 PM |
3:15 PM |
3:15 PM |
3:30 PM |
4:15 PM |
Table 1. Time table for a job that is 15 minutes in length and is scheduled to run every hour.
If the job takes more than an hour to run, the next job can optionally run immediately after the last one finishes, or at the next scheduled time (see the scheduler options section for additional info).
You have
several options for the Calendar Based scheduler but in all cases you
will need to enter a time of day to run the job (Start Time).
If you select Daily you may run the job once every day, once per day on weekdays (Monday through Friday), or once daily a specific number of days apart. For example, specifying a run "Every 3 Days" will run once daily every third day. Selecting this option allows you to run jobs from 1 to a maximum of 99 days apart.
If you select Weekly you may run the job from once per week up to once every 99 weeks. You can specify from one to all seven days of the week on which to run the job. When scheduling keep in mind that Sunday at midnight is the end of a week with Monday beginning the next week. This is important if, for example, you're scheduling a job to run Tuesdays and Fridays every 2nd week. If the day you're starting the scheduler is Wednesday then the job will run on Friday (week 1), skip week 2 as expected, then run both Tuesday and Friday in week 3 and so on. This is illustrated in the table below:
|
Mon |
Tue |
Wed |
Thu |
Fri |
Sat |
Sun |
Week 1 |
|
|
Start timer |
|
Job Runs |
|
|
Week 2 |
|
||||||
Week 3 |
|
Job Runs |
|
|
Job Runs |
|
|
Week 4 |
|
||||||
Week 5 |
|
Job Runs |
|
|
Job Runs |
|
|
Table 2. Scheduling a job on Wednesday that will run Tuesdays and Fridays every second week.
Select Monthly to run the job once per month on a specified day. You may indicate a maximum of 12 months apart for each run of the job. This feature allows you to schedule quarterly, biannual or annual runs, for example. If the last day of the month is the desired run date, enter 31 for the run date. The scheduler allows for months of varying length and selects the last day of each particular month be it 28, 29, 30 or 31.
Once you've entered the necessary Time Based or Calendar Based information, click the Begin button to start the timer.
In order to end a scheduled job, bring the scheduler form up (F8) if it is not already then click the End button.
Once you've started the timer by clicking Begin, you'll note that the toolbar buttons within the application are no longer available except for the Pause button. So long as the timer is running, you should not attempt to use this instance of 'Convert XLS' for any tasks other than the scheduled task. If you need to use 'Convert XLS' for other non-scheduled tasks, simply open another instance of the application by running it a second time. As long as the timer is running, your computer must remain on and 'Convert XLS' must remain running. For convenience you may choose to minimize the running instance of 'Convert XLS' to a button on your task bar.
Select the tab labeled Options to see the following two settings:
Automatically restart the timer on program load
This allows the 'Convert XLS' timer to be started automatically the next time you run 'Convert XLS'. In other words, if you run a scheduled job and then end that job and close 'Convert XLS', the next time you open 'Convert XLS', that job will be reopened and set to run automatically as though you had clicked the Begin button. This means that if you've scheduled a job that runs every second week, for example, when the timer automatically restarts the 'Convert XLS' scheduler will recalculate the next run based on today's date regardless of the length of time that might have been remaining before the next run when you last closed 'Convert XLS'.
HINT: You can have 'Convert XLS' launched by your operating system when starts (on Windows 7 it is know as the Startup folder). That combined with this program option will allow you to easily automate conversion jobs with no effort.
In the event that a Time Based job runs longer than the time period specified, 'Convert XLS' gives you two options for handling the circumstance.
If you select Immediately after the current job finishes, the next job will begin running immediately upon completion of the preceding run. This means that the jobs will be running continuously, back-to-back regardless of the time interval entered. Selecting Skip this run and set the timer for the next one causes one run of the conversion job to be skipped but runs at the next scheduled time. Please see Table 3 for an example of this where the interval is set for every 15 minutes, but the running time of the job is 20 minutes. Effectively what happens in this case is the job will run every other time.
Start Time |
Next Target Time Calculated Based on Start Time |
|
Actual End Time After Running the Job |
New Updated Target Time |
1:00 PM |
1:15 PM |
|
1:20 PM |
1:30 PM |
1:30 PM |
1:45 PM |
|
1:50 PM |
2:00 PM |
2:00 PM |
2:15 PM |
|
2:20 PM |
2:30 PM |
2:30 PM |
2:45 PM |
|
2:50 PM |
3:00 PM |
Table 3. Based on a 15 minute interval, a Next Target Time is calculated. In this example the job takes 20 minutes to run, so the Next Target Time has been missed. With the 'Skip' option selected, CPTI will realize the next target time has past and will recalculate a new target time based on the interval specified by the user. The job will run at 1:00, 1:30, 2:00 etc., running half as often as expected.
The scheduler is based on your local computer time. So if that is altered after the scheduler has been started, you should verify that the scheduler is continuing to run appropriately. It may be necessary to restart the scheduler based on the computer's new date/time.