Guest Brian Posted July 22, 2008 Posted July 22, 2008 Is it possible to prevent a scheduled task from opening while a prior instance is still running? I have a data transfer application that needs to run every couple of minutes. If it finds there is nothing to do, it should run for perhaps 10 seconds; if it finds that there is data to move, it can run for upwards of 20 minutes. Because the task schedule time between runs is less than the potential runtime of the application, I need to ensure that no extra instances of the scheduled task open while it is already running.
Guest Pegasus \(MVP\) Posted July 22, 2008 Posted July 22, 2008 Re: Prevent duplicate instance of scheduled task "Brian" <Brian@discussions.microsoft.com> wrote in message news:A3B6E1A0-BCF4-4202-AF0A-0075B7559D3B@microsoft.com... > Is it possible to prevent a scheduled task from opening while a prior > instance is still running? I have a data transfer application that needs > to > run every couple of minutes. If it finds there is nothing to do, it should > run for perhaps 10 seconds; if it finds that there is data to move, it can > run for upwards of 20 minutes. > > Because the task schedule time between runs is less than the potential > runtime of the application, I need to ensure that no extra instances of > the > scheduled task open while it is already running. The second instance of a scheduled task won't launch if the first instance is still active. You can easily test this with by scheduling the following batch file to run every five minutes: @echo off echo %date% %time% >> c:\test.txt pause The first instance will "hang" because of the "Pause" command, thus preventing the second instance from getting launched, which you can check by looking at c:\test.txt.
Guest Brian Posted July 22, 2008 Posted July 22, 2008 Re: Prevent duplicate instance of scheduled task I think when I tested it previously, I started the program manually (not via task scheduler), and the task kicked in anyway. That must be different than starting the program manually. The task scheduler must keep track of the PID it starts, not just the target app. It works right now, though, when starting the task manually or automatically via task scheduler. Thank you for the response. "Pegasus (MVP)" wrote: > > "Brian" <Brian@discussions.microsoft.com> wrote in message > news:A3B6E1A0-BCF4-4202-AF0A-0075B7559D3B@microsoft.com... > > Is it possible to prevent a scheduled task from opening while a prior > > instance is still running? I have a data transfer application that needs > > to > > run every couple of minutes. If it finds there is nothing to do, it should > > run for perhaps 10 seconds; if it finds that there is data to move, it can > > run for upwards of 20 minutes. > > > > Because the task schedule time between runs is less than the potential > > runtime of the application, I need to ensure that no extra instances of > > the > > scheduled task open while it is already running. > > The second instance of a scheduled task won't launch if the first instance > is still active. You can easily test this with by scheduling the following > batch file to run every five minutes: > @echo off > echo %date% %time% >> c:\test.txt > pause > > The first instance will "hang" because of the "Pause" command, thus > preventing the second instance from getting launched, which you can > check by looking at c:\test.txt. > > >
Recommended Posts