Prevent duplicate instance of scheduled task

B

Brian

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.
 
P

Pegasus \(MVP\)

Brian said:
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.
 
B

Brian

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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top