7

I noticed that choosing the option to run only when it is idle and then to repeat the task indefinitely every 12 hours,

i.e.: example

, did not do what I intended since it basically reset its 12h counter after running once, provided the computer went out of idling before the later triggering.

I'd like a way for it to both only run when it is idle, but also always restrict it to a period of 12 hours, even if the computer went out of idling between runs.

2
  • So if I understand you, if the machine went idle for 13 hours, the process would only run the first 12? But begin again when the idle was restored (with or without delay?) ? Nov 16, 2012 at 16:53
  • 1
    @edusysadmin I don't think that is it. I think the process went something like this: System goes to idle and task is triggered. 3 hours later, system comes out of idle. 4 hours after that (7 hours after first task trigger) system goes to idle again and the task re-triggers. The OP wants the task to only re-trigger at times >= +12 hours from the most recent trigger.
    – Iszi
    Nov 16, 2012 at 18:48

1 Answer 1

11

You're setting your task up backwards. Instead of triggering on system idle, trigger it at a specific time, set to repeat every 12 hours. Then, go to the Conditions tab and tell it to only start after the system has been idle for (insert desired duration here). Depending on the nature of the task, you may also want to select the option to stop the task if the computer ceases idling (and then, may want to select to restart if idle resumes). You probably also want to go to the Settings tab and choose the option to run the task ASAP after a missed start time.

Screenshots below are of a proper configuration for your task in a Windows 7 system.

Edit Trigger screen: Note it is set to "One Time" with "Repeat every 12 hours for a duration of Indefinitely". The default time in this dialog is the time at which you open the dialog. This will be fine, since you're going to set a Condition to keep it from starting unless the system is idle.

enter image description here

Conditions screen: I've selected for the task to only start if the computer has had one minute of idle time. If the idle timer is not met when the task is first triggered, the task will wait 1 hour (the "Wait for idle for" setting) before aborting the attempt. Note that this means the task will not start if the computer is not idle for at least one minute within an hour of the scheduled trigger. This also means that the task could potentially have two runs within 11 hours of each other - if the idle condition for the first run is not met until the very end of its run window, and the idle condition for the second run is met at the very beginning of its window.

I've also selected for the task to stop if the computer exits its idle state, and restart when the computer goes back to idle - your preferences here (and in other options on this screen) may differ.

enter image description here

Settings screen: You probably want the task to trigger ASAP if a scheduled start time is missed (e.g.: The computer is off). Retry attempts may be useful, depending on the nature of the task. Also, it may be good to have a timer to stop the task if it is running too long. The last setting will, by default, keep the task from starting if a previous instance is still running.

enter image description here

1
  • Thanks, very detailed answer. I mainly missed the option to 'run asap if missed' since I was wondering if 'every 12h' will be ignored completely without something like that. By the way, the 3rd image is same with the 2nd (but I got the point).
    – j riv
    Nov 16, 2012 at 20:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .