Prioritize small tasks while transferring

I’ve noticed that if I’m already transferring a large file, small tasks get postponed until it finishes. Most annoying being deleting files.

I would like large transfers (or data transfers in general) to take a back seat and dynamically prioritize deleting (or moving) files. Even prioritizing small files before large ones would be nice to have happen on the fly, pausing a large file’s transfer in order to transfer newly added smaller files, assuming the large file isn’t almost done already.

Would this be a feature request, or can I already achieve this somehow?

You can choose to transfer files in size order or random order. I don’t know what happens if a large file is underway and additional small files are found to be transferred.

Docs to the rescue!

https://docs.syncthing.net/users/config.html#config-option-folder.order

Note that the scanned files are sent in batches and the sorting is applied only to the already discovered files. This means the sync might start with a 1 GB file even if there is 1 KB file available on the source device until the 1 KB becomes known to the pulling device.

Yes, and it’s already on GitHub.

At the moment, you can only do it manually, e.g. by pausing and unpausing the related folder.

1 Like

I’m also not sure prioritizing deletes is a good idea as deleted files might actually be renames if the scanning is still ongoing on the remote side.

Although I have had a situation where syncing stopped because the disk was at the 1% limit because 1TB of files had been deleted but that update hadn’t happened yet. But that’s another problem.