I’m creating a simple job that I’d like to run every 60 seconds (1 minute). Instead of approaching this using a Windows Service Installer program, I’d like to create a Console App that is run through Windows Scheduler.
What will happen if a job kicks off and it takes more than 60 seconds to process? Will a second instance of a job kick off again? I’d like Windows to manage the job in a manner such that a second instance of a job won’t kick off until the first one is complete.
Does this make sense? Will the Windows Task Scheduler use this approach by default?
Thanks all.
Yes, Windows will start a new instance by default; however, you can control that behavior. In Control Panel, go to Task Scheduler. Find any time-scheduled task and right click/Properties, then choose the Settings tab. At the bottom, you’ll see an option named “If the task is already running, then the following rule applies.” You can choose to not start a new instance, run a new instance in parallel, queue a new instance, or stop the existing instance. You want the first choice. The Windows Task Scheduler API provides the same functionality.