Sync Schedule Settings

Options to sync data from your Reverse ETL sources.

RudderStack lets you set a schedule for importing data from your Reverse ETL sources while setting them up in your dashboard. It lets you specify the schedule type that defines how and when the syncs will run.

RudderStack supports the following three schedule types:

Schedule typeDescription
BasicRun syncs at a set interval, optionally starting from a specified time (UTC). If a start time is set, syncs run from that time until the end of that day.
CRONRun syncs based on a CRON expression defined by the user.
ManualRun syncs manually.

Basic

This schedule type lets you run the data syncs at a set interval. You can specify the sync frequency and, optionally, the UTC time when you want the daily sync window to start.

Basic sync schedule

Frequency

You can choose the data sync frequency from the following options:

  • 5 minutes
  • 10 minutes
  • 15 minutes
  • 30 minutes
  • 1 hour
  • 3 hours
  • 6 hours
  • 12 hours
  • 24 hours

Sync Starting At

Specify the UTC time when the daily sync window should start. When you set this field, syncs run from that time and repeat at the selected frequency until the end of that day. The same schedule then starts again the next day.

Daily syncs are the scheduled runs from the start time up to, but not including, 00:00 UTC. For evenly divided intervals, the number of daily syncs is floor((24:00 - start_time) / frequency), counting the start-time sync.

Example

If you set Frequency to 1 hour and Sync Starting At to 20:00, syncs run at 20:00, 21:00, 22:00, and 23:00 UTC — 4 syncs for that day, not 24.

To run hourly syncs around the clock, leave Sync Starting At blank or set it to 00:00. For more information, see What happens if I don’t set the Sync Starting At time?.

CRON

This schedule type lets you define a custom CRON expression and runs the data syncs based on this setting.

You can use the CRON scheduler utility to specify your sync schedule.
CRON schedule

Note that the sync frequency specified under Run Settings needs to be greater than or equal to 5 minutes. Otherwise, you will encounter an error as shown below:

CRON schedule error

Manual

This schedule type lets you run your data syncs manually. RudderStack won’t sync the data until you explicitly trigger it.

To trigger a sync manually, go to the Syncs tab in your Reverse ETL connections page and click Sync Now:

Trigger manual syncs
To programmatically schedule and trigger a sync from outside RudderStack, see the RudderStack Airflow Provider documentation.

Sync modes behavior

The following sections explain the behavior of the two sync modes(Upsert and Mirror) when a sync schedule is set in RudderStack.

Upsert mode

For upsert mode, you can trigger a new sync anytime by pressing the Sync Now button. Multiple syncs can run simultaneously.

Mirror mode

For mirror mode, you can run only one sync at any given point of time. A new sync starts only after the previous one is completed.

Suppose you have a sync scheduled for every 30 minutes. If there is a sync running for more than 30 minutes, then the next scheduled sync will be skipped when using the mirror mode.

FAQ

Can I change my sync schedule type?

Yes, you can.

  1. Go to the Settings tab of your Reverse ETL connection details page and click the edit icon next to Schedule:
Change sync schedule
  1. Then, select your new sync schedule type.

What happens if I don’t set the Sync Starting At time?

RudderStack considers strict time windows to schedule syncs if you do not explicitly set the time under Sync Starting At.

Suppose you create a source at 12:30 hrs UTC, specify the Frequency as 3 hours, and do not specify any time under Sync Starting At. In this case, as the time falls in the 12:00-13:00 time window, RudderStack will run the next sync at 15:00 hrs UTC (12:00 + 03:00 = 15:00 hrs).

Questions? Let's figure it out together.

Join the RudderStack Slack community to connect with other users, customers, and the RudderStack team — or reach out for direct support.