Skip to main content

Sync Cycle

Every sync cycle:
  1. Fetch new/updated jobs since the last successful sync
  2. Apply filters (source, location, remote status, date range)
  3. Batch upsert into your destination (up to 10,000 per batch)
  4. Update cursor for the next cycle

Configuration

SettingValue
Minimum interval15 minutes
Maximum batch size10,000 records
Automatic retries4 (with exponential backoff)
DeduplicationUpsert by job ID

Initial Sync (Full Backfill)

When you first activate a feed — or switch to a different destination — a full backfill is performed. All jobs matching your filters are pushed to the destination. This may take several minutes depending on the volume of matching jobs. After the initial sync completes, all subsequent syncs are incremental: only new and updated records are pushed.

Deduplication

Jobs are deduplicated by their unique ID. If a job already exists in your destination, it is updated in place (upsert semantics). This means:
  • No duplicate records are created
  • Re-syncs are safe and idempotent
  • Updated job fields (title, description, salary, etc.) are reflected automatically

Expired Jobs

Expired jobs are not automatically removed from your destination. The outbound feed only pushes new and updated jobs — it does not delete.
To handle expirations, use the Expired Jobs API endpoint to get recently expired job IDs and remove them from your destination on your own schedule.

Retry Schedule

If a sync fails, Jobo automatically retries with exponential backoff:
AttemptDelay
1st retry1 minute
2nd retry5 minutes
3rd retry15 minutes
4th retry1 hour

Failure Handling

If a sync fails after all 4 retries:
  • The feed is paused automatically
  • You’ll receive a notification in the dashboard
  • The cursor is not advanced, so no data is lost
  • Fix the issue and re-enable the feed to resume from where it left off
Sync status and history are available in the dashboard under Data → Outbound Feed.