One thing that would really help is the ability to add a task to a job to flag the records that were just exported as having been exported in the Salesforce object. As an example, we have hourly jobs that run and export all of the records that were modified in the last hour. However, when your system goes down or fails to do the export, all of those records are skipped and there is no way to capture them without pulling the whole day's records. Additionally, since the hourly job could start at any point in the hour, we could have a record modified at 12:03 that is not picked up in the Skyvia job because the job runs at 1:05 the next hour and only pulls the last 60 minutes of data.
I created one job - with two tasks - that writes files to an SFTP location where the IsExported flag is False: 1st is the actual export consumed on the other end and the 2nd is just a file with record IDs that are ignored by the recipient. The 2nd file is used by another Skyvia job to update the IsExported flag from False to True in the Salesforce object so those records are not captured in future runs, However; this is not feasible in all export situations.