In some systems with extremely slow APIs, Universal Migrator has the ability to cache data to an intermediary cache folder.
The purpose of this cache folder is to allow you to quickly catch back up if your backup is paused, stopped, or otherwise interrupted.
When a cache folder is used, before Universal Migrator talks to an API, it will first check to see if the data exists in the cache folder. If it does, it will quickly fetch the data from the cache instead of requesting it from the API. If it doesn't, then it will pull the data from the API and cache it.
In the event that there is an error pulling data (ie. the internet disconnects), nothing from the failed requests will be saved to the cache. After the pull is complete, just do a brand new pull (with the same cache folder but a brand new database) and anything that was missed the first time will be retrieved.
When using a cache folder, it is important to remember a few things:
1. If previously-retrieved data is changed in the live system, stale data will be returned. For this reason, whenever you are using a cache folder, you should make sure your client explicitly knows they should not add/change anything in the source system after you start the backup.
2. If new data is added, it may not be returned because the response to "What's in the system?" is cached.