SAP SuccessFactors Scheduled Jobs

Prev Next

The SAP SuccessFactors integration uses three scheduled background jobs to keep assignments, completions, and content in sync between SAP and Thrive. This article describes what each job does, when it runs, and how they relate to one another.

Sync 1 – SFTP File Ingest

Sync 1 runs at the start of every hour (0 * * * *). It connects to the customer's SFTP server and scans for files matching the defined naming formats for the SAP integration.

Three file types are ingested:

  • Assignments: Learning assigned to users in SAP SuccessFactors

  • Completions: Learning completed by users in SAP SuccessFactors (for example, thrive-completions-report.csv)

  • Content: Items available in the SAP SuccessFactors content catalogue

If no matching files are present, no action is taken.

For any survey assignments ingested, Sync 1 writes a record to a cleanup database collection. This collection is read exclusively by Sync 2.

Sync 2 – Survey Assignment Cleanup

Sync 2 runs concurrently with Sync 1 at the start of every hour (0 * * * *). It reads all survey assignment records from the cleanup collection and checks the age of each one.

This behaviour mirrors SAP SuccessFactors' own rule of hiding survey assignments after seven days. If an assignment is older than seven days and has not been completed, Sync 2 removes it from the user's profile in Thrive. Completed assignments are left untouched.

Note: Records written by Sync 1 in a given run will not be processed by Sync 2 until the following hourly run. There is a minimum one-hour lag between a survey assignment being ingested and it becoming eligible for cleanup.

Sync 3 – API Active User Sync

Sync 3 runs every 15 minutes at :00, :15, :30, and :45 past each hour (*/15 * * * *). It identifies users who have been active on the platform within the last 45 minutes, calls the SAP SuccessFactors API to fetch the latest assignments and completions history for each of those users, and updates their records in Thrive.

Cron Expression Reference

Job

Cron Expression

Schedule

Sync 1 – SFTP File Ingest

0 * * * *

Every hour, on the hour

Sync 2 – Survey Assignment Cleanup

0 * * * *

Every hour, on the hour (runs concurrently with Sync 1)

Sync 3 – API Active User Sync

*/15 * * * *

Every 15 minutes (:00, :15, :30, :45)