Skip to main content

Progress Tracking

The One Migrate provides real-time visibility into every running job from the cloud dashboard, even though the actual work is happening on a desktop agent at your client's site.

How Progress Works

The desktop agent sends progress batches to the Migrate API (POST /api/progress) continuously during a running job. Each batch contains:

  • Files completed since last report
  • Bytes completed since last report
  • Files that failed (with error details)
  • Current transfer speed in bytes/second

The API aggregates these batches into the job's live progress record.

Dashboard — Active Jobs Panel

The Dashboard page shows all currently running jobs at a glance:

  • Job name and assigned agent
  • Progress bar — completed bytes vs. total bytes
  • Transfer speed — current Mbps displayed next to each job
  • Click any job to see full detail

Job Detail Page

The job detail page shows the complete picture for a single job:

MetricDescription
Total FilesTotal files/records found during the scan phase
Completed FilesFiles successfully uploaded
Failed FilesFiles that errored; details visible in job logs
Skipped FilesFiles excluded by filters or already present at destination
Total BytesTotal data volume to transfer
Completed BytesBytes successfully transferred
Current SpeedTransfer speed in Mbps (live)
Estimated Time RemainingBased on current speed and bytes remaining

For RockRMS import jobs, progress is shown per entity type (people, families, groups, contributions, attendance, prayer_requests) with imported / skipped / errored counts per type.

Progress Batch History

Progress batches are retained for 7 days. This allows the dashboard to reconstruct the speed history for a completed job.

Email Notifications

When a job completes or fails, the system sends an email notification to the user who created the job. Notifications are processed by a background timer that runs every 2 minutes and checks for jobs that transitioned to completed or failed since the last notification.

Interpreting Progress

Why does "Total Files" appear as 0 at first? The agent scans the source before uploading. During the scanning phase, total counts are not yet known. They populate once scanning completes and the job moves to running.

Why is my speed lower than expected?

  • Check the project bandwidth schedule — the job may be in a throttled window.
  • The job may have a bandwidth_limit_mbps set in its config.
  • Client network or Azure storage account throttling can cap throughput.
  • Reducing concurrency can sometimes improve reliability on slow networks.

Why does the progress bar jump? Progress batches are sent continuously but the dashboard polls every 10 seconds. Large batches can cause visible jumps. This is normal.

What happens if the agent goes offline mid-job? The job status remains running until the agent reconnects and resumes. If the agent does not reconnect, the job does not automatically fail — you need to manually cancel it and create a new job to retry from where the source data still exists.