Scheduling batch files to run at prescribed times
Once created, your batch files can then be scheduled to run at prescribed times using the Windows Scheduler.
Getting ready
Many geoprocessing scripts are time-intensive and best run after hours when they can take full advantage of system resources and free up your time to concentrate on other tasks. In this recipe, you will learn how to use the Windows Scheduler to schedule the execution of your batch files.
How to do it...
Follow these steps to schedule a batch file with the Windows Scheduler:
Open the Windows Scheduler by going to Start | Programs | Accessories | System Tools | Control Panel | Administrative Tools. Select Task Scheduler. The scheduler should appear, as shown in the following screenshot:
Select the Action menu item and then Create Basic Task to display the Create Basic Task Wizard dialog box, as shown in the next screenshot.
Give your task a name. In this case, we will call
it List Fields from a Feature Class
. Click on Next:Select a trigger for when the task should be executed. This can, and often will be, a time-based trigger, but there can also be other types of triggers such as a user login or computer start. In this case, let's just select Daily. Click on Next:
Select a start date/time as well as a recurrence interval. In the following screenshot, I have selected the date as
12/3/2012
, with time as1:00:00 AM
, and a recurrence interval of 1 day. So, every day at 1:00 AM, this task will be executed. Click on Next:Select Start a program as the action:
Browse to your script and add the parameters. Click on Next:
Click on Finish to add a task to the scheduler:
The tasks should now be displayed in the list of active tasks:
How it works...
The Windows Task Scheduler keeps track of all the active tasks and handles the execution of these tasks when the prescribed trigger is fired. In this recipe, we have scheduled our task to execute each day at 1:00 AM. At that time, the batch file we created will be triggered and the arguments we specified when creating the task will be passed into the script. Using the scheduler to automatically execute geoprocessing tasks after hours without the need for GIS staff to interact with the scripts gives you more flexibility and increases your efficiency. You might also want to consider logging the errors in your Python scripts to a log file, for more information about specific problems.