Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
dev:web_api:v3:syncing [2021/03/24 16:06] – [Handling save errors] dstillman | dev:web_api:v3:syncing [2022/08/14 05:34] (current) – [Zotero Web API Syncing] dstillman | ||
---|---|---|---|
Line 5: | Line 5: | ||
TODO: | TODO: | ||
- | * WebSocket | + | * Incorporate [[streaming_api|WebSocket |
===== Sync Properties ===== | ===== Sync Properties ===== | ||
Line 219: | Line 219: | ||
- Treat the error as fatal and stop the sync without updating the local library version | - Treat the error as fatal and stop the sync without updating the local library version | ||
- | - Add the object key to a list of objects needing to be downloaded later and continue with the sync, updating the local library version at the end as if the sync had succeeded. In a future sync, add objects on this list to the set of objects returned from the '' | + | - Add the object key to a list of objects needing to be downloaded later and continue with the sync, updating the local library version at the end as if the sync had succeeded. In a future sync, add objects on this list to the set of objects returned from the '' |
When processing a set of objects, it may be helpful to maintain a process queue for the sync run and move failing objects to the end of the queue in case they depend on other objects being retrieved. (In many cases, it's possible to sort objects beforehand to avoid such errors, such as by sorting parent collections before subcollections.) If a loop of the process queue completes without any objects being successfully processed, stop the sync. | When processing a set of objects, it may be helpful to maintain a process queue for the sync run and move failing objects to the end of the queue in case they depend on other objects being retrieved. (In many cases, it's possible to sort objects beforehand to avoid such errors, such as by sorting parent collections before subcollections.) If a loop of the process queue completes without any objects being successfully processed, stop the sync. |