Clarification about thread-priority setting (trying to only start backups when idle)

I’m trying to figure out how to tell Duplicati to only start a backup when my laptop is idle. I found the setting “thread-priority” and I see one of the options is “idle” but I can’t seem to find any documentation for it and would love some clarification. An answer in this feature request Postpone the backup until computer is idle · Issue #520 · duplicati/duplicati · GitHub seems to indicate that thread-priority could be used to achieve what I want, but the description for thread-priority in the Duplicati GUI (below) implies to me that it might not:

Selects another thread priority for the process. Use this to set Duplicati to be more or less CPU intensive.

Does setting the thread-priority option to “idle” just throttle duplicati to use minimal resources in the background?
Or does this simply prevent Duplicati from starting until my computer is idle?

I see how throttling duplicati to run minimally in the background would be useful, but for my case I don’t mind if Duplicati uses a lot of resources, as long as I’m not using my laptop. Actually for my case, I would prefer that Duplicati uses as much resources as it needs to finish quickly and then let my computer go back to being idle.

The first problem I’m having is the obvious one, I’ll be in the middle of working on something and duplicati starts a scheduled backup which makes my computer slow. The other problem I’m running into is that if I shut down my laptop before a scheduled backup, when I turn on my laptop duplicati will immediately try to run the backup that it missed (which is what I have it set to do) which is really annoying. I’ll probably have to disable that setting unless I can figure out how to get duplicati to only start backups if the laptop is idle.

I did find this thread: Run backup when PC is idle
I can do the work around suggested in that thread, but it’s from 2017 and I wasn’t sure if that thread is from before the thread-priority feature was implemented. If I can achieve want I want through a built in feature instead of using task manager, that would be preferable.

I’m on Windows 10, Duplicati version 2.0.5.1_beta_2020-01-18

Thanks in advance!

Yes. It will be given less CPU time by Windows, compared to other threads of higher priority. Did you try it to see if it makes a difference in your case? Depending on why the system feels sluggish, it may not help.

1 Like

Thanks for the clarification.

I did try it and it made the backup run very slowly, which is not what I want.

It doesn’t seem like there is a way to delay the start of a backup until the computer is idle natively, so I’ll have to use task scheduler. Bit disappointing. I would love to have an option where you can say don’t start this backup until computer is idle for X minutes.

It would be a nice added feature!

You should be able to via a script to an extent eg https://devblogs.microsoft.com/scripting/hey-scripting-guy-how-can-i-run-a-script-when-my-computer-is-idle/ but it will probably be not a great idea. Most people should probably not do it that way.

This is really a programming thing with Duplicati. It should be running but have settings for usage which means it needs to check and be able to have user facing values for that. Not seeing anything in advanced or anywhere else.

Thread priority is not meant for that.

1 Like

Interesting, thanks for that link. Yeah, I think I’ll stick to task manager for this. Unless there is a reason why using task manager would be a bad idea as well?

These are the instructions I would be following.