An integration’s replication schedule affects the time that replication jobs begin and how often they occur. Specifically, replication scheduling controls the frequency and start time of the Extraction phase of the replication process, which is when Stitch extracts data from the data source.
In this guide, we’ll cover:
How replication scheduling works
When you create a replication schedule for a SaaS or database integration, you’re telling Stitch when and how frequently data extraction should occur. When creating a replication schedule, keep the following in mind:
Replication scheduling can only control the time a replication job begins, not the time it ends or the time data is loaded. The completion of the job, including the time to load extracted data into your destination, is not controllable using any of Stitch’s replication scheduling features. Remember to factor in time for Stitch’s data preparation and loading phases of replication.
Replication scheduling only applies to database and SaaS integrations. Due to the as-it-happens nature of webhooks, webhook integration data is replicated continuously and doesn’t require a schedule.
Only one replication job can run at a time. If a replication job is in progress when the next job is scheduled to begin, the second job will be skipped. The next job will be scheduled according to the next iteration in the replication schedule.
An integration’s replication schedule applies to all selected tables. Defining replication schedules for individual tables isn’t currently supported. You can, however, use this workaround, but note that there are some limitations.
Critical errors that occur during Extraction will end the current job. Errors during the Extraction phase can occur for a myriad of reasons, such as connection/credential issues, Stitch or third-party outages, etc. When Stitch encounters an error during this phase of the replication process, the current job will end. The next job will be scheduled according to the next iteration in the replication schedule.
Replication scheduling methods
Stitch offers three methods of creating a replication schedule:
Replication Frequency allows you to select how frequently you want Stitch to run replication jobs for an integration, based on intervals of 30 minutes, one hour, three hours, six hours, 12 hours, and 24 hours.
For this method, the start times of replication jobs are based on the start time and duration of the previous job. Refer to the Replication Frequency documentation for more info and examples.
Anchor Scheduling is a combination of two settings: Replication Frequency and Anchor Time.
The Anchor Time “anchors” the start times of replication jobs to a time you select, and in conjunction with the Replication Frequency, creates a predictable replication schedule. For example: Run a replication job every 3 hours, starting at 1:00 PM. Refer to the Anchor Scheduling documentation for more info and examples.
Note: This feature is only available for Singer-backed integrations.
Advanced Scheduling using cron expressions
The Advanced Scheduler feature allows you to specify granular start times for data extraction. Using cron expressions, you can specify the exact times, days of the week, or even days of the month data extraction should begin. Refer to the Advanced Scheduling documentation for more info and examples.
Note: This feature is only available on Unlimited and Unlimited Plus plans.
Compare Replication Scheduling types
The table below contains a high-level look at each of Stitch’s Replication Scheduling types and how they compare to each other.
Note: This is not intended as a substitute for the full documentation for each Replication Scheduling type.
|Replication Frequency||Anchor Scheduling||Advanced Scheduling|
|Level of control||Least||More||Most|
|Plan availability||All plans||All plans||Unlimited, Unlimited Plus|
|Integration availability||SaaS and database integrations||Singer-backed integrations||MySQL and PostgreSQL integrations|
Define an integration's replication schedule
How an integration’s replication schedule is defined depends on the type of scheduling type you’re using. Click the links below to view instructions for defining each scheduling type: