Jump to content

Prevent duplicate instance of scheduled task


Recommended Posts

Guest Brian
Posted

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.

  • Replies 2
  • Created
  • Last Reply

Popular Days

Guest Pegasus \(MVP\)
Posted

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

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.

>

>

>


×
×
  • Create New...