20

If I schedule a task using windows task scheduler for, say, 2 minutes from now, and for some reason the computer is shut down 1 minute from now, and turned on 3 minutes from now, will the task that was scheduled still run?

If not, what can I do to mimic this functionality?

I'm writing a Java application that needs to execute a variety of system commands and I'd prefer the operating system actually manage the task execution phase. All I really need to have happen is for the task to execute as soon as possible by the operating system.

fixer1234
  • 28,064

3 Answers3

24

No, it won't execute. The Task Scheduler in Vista (or higher) can be configured to run missed instances, but XP's cannot. See the checkbox below called Run task as soon as possible after a scheduled start is missed.

However, all three can be set to wake the computer if it's asleep or hibernating.

enter image description here

afrazier
  • 23,505
3

Im on Windows 10. Under the properties for the task...click the Conditions tab.

Under Power...check Wake the Computer to run this task.

enter image description here

1

As it was said, you can't do this in XP but can in Vista+. Some programs (like Acronis True Image) use their own schedulers to overcome the system one's limitations.

To emulate this in XP, you can write a program (googling didn't readily reveal any publicly available existing ones) scheduled to run at system startup that would

  • check the system log for the last shutdown and startup times (or rather, Scheduler service's shutdown and startup times)
  • check task schedules against that
  • run the ones who have a start moment that falls into the interval

Caveats:

  • unless you can somehow call the corresponding Scheduler's functionality, you'll have to parse the schedules manually to calculate the next planned start time from a specific moment in the past
  • there's no "run as soon as possible" flag for tasks in XP, you'll have to invent a replacement (or grab everything indiscriminately)
  • since your task runs at system startup, some tasks may fail if they require facilities that have not been initialized yet
ivan_pozdeev
  • 1,973