Understanding Sync Intervals

When it comes to syncing files via cloud services, e.g., iCloud Drive, we are used to things just happening automatically. But is that always the most sensible approach? DEVONthink and DEVONthink To Go offer several options.

By default, our sync engine runs on an automatic interval. It will typically sync between 30–45 seconds after a document has been saved. If the application is idle, it will check for any unsynced changes every four to five minutes or so. If you look at DEVONthink’s Sync settings, the Synchronize menu lets you set a different interval. While you may think, “I will just set things to Every minute, then I’ll never miss anything!”, that’s not necessarily the perfect approach.

Our sync engine is built to keep a database in the same state on multiple devices. While it can sync changes more often, it will also sync unfortunate changes too. This can propagate an error to your other syncing devices much more quickly. Over the years, we have dealt with support tickets where someone accidentally deleted important things and noticed it affected their other devices only minutes later. At that point, it’s likely you’ll would need to get into your backups to fix things.

So while automatic syncing is usually sufficient, choosing a longer interval can sometimes be reasonable. There’s even the option to do a manual sync. While many people just don’t want to think about it, for others acting very intentionally, this can be an effective way to update devices, e.g., before going to lunch or leaving the office for the night.

PS: At this time, DEVONthink To Go only supports Automatic and Manual syncing.

1 Like

went and changed mine to “hourly”. I thought you were giving us a hint hint:-)
More seriously, what is the CPU/IO price for having it auto/minute vs hourly, or is it really little?

1 Like

I think hourly is an acceptable option, especially in a more stationary setup.

In the grand scheme of things, the overhead wouldn’t be terrible for modern machines. But why waste the resources?

3 Likes

The “expensive” part will be actually moving data. Just checking to see if there’s data to be synced should be pretty low overhead. And the data movement cost will probably come out about the same whether you move X bytes once a minute or 60X bytes once an hour.

4 Likes

Depends if you’re editing a lot of documents in DT4 (as opposed to, say, mucking around with tags and metadata but not frequently changing what you set on individual files much).

One example I can think of is if you’re doing a large scanning run (or importing a lot of non-OCR documents), then OCRing them. It would pay to wait until the OCRing is done before syncing in that circumstance, I think.

At the moment, I’m working with tens of thousands of e-mails and attachments while I work on my “attachments separation” AppleScript, going backwards and forwards and re-importing e-mails, then separating attachments, deleting runs of attachment deletions, exporting thousands of e-mails where I’ve changed the .eml file and re-importing them so they’re newly indexed, etc.

I’ve turned Syncing to Manually for now as I don’t need it until I’m finished fiddling (hopefully this evening!), but then the onus is on me to put it back to some regularity when I am done :slight_smile:

Sean

2 Likes