Sync Status - Job States Explained
Understand MerchantFlow sync job states including queued, running, completed, and failed. Learn where to check sync progress and health.
Sync Status
Sync status in MerchantFlow reports the current state of each background data synchronization job. Understanding these states helps you determine whether your dashboard data is fresh, in progress, or needs attention.
What Are the Current Sync States?
Idle
No sync job is running or queued for the workspace. This is the normal resting state between scheduled cycles.
Queued
The request was accepted and is waiting for a worker. Jobs typically move from queued to running within seconds.
Running
The job is actively syncing data from the provider in the background.
Completed
The sync finished successfully and fresh data is available in the dashboard.
Failed
The sync did not finish successfully and needs review. Check integration health and logs for the specific error.
Short-Lived Request Messages
The Sync All Integrations button in the Integration Health dropdown shows its own short-lived labels:
- Submitting... - the request is being sent
- Request Submitted - every request was accepted
- Partially Submitted - some requests were accepted and some were not
- Request Failed - the request could not be submitted
Those are button-level request states. The underlying job status still settles into queued, running, completed, or failed.
Where to Check Sync Status
- Dashboard Live indicator - quick signal on workspace freshness, with the last-updated time next to the "Live" label
- Dashboard Integration Health dropdown - provider-by-provider health, last synced time, warnings, and a "Next scheduled sync" countdown
- Settings > Integrations - reconnect controls, Manual Sync Runner access, and provider-specific status messages
- Settings > Integrations > Audit Logs - recent sync history rather than just the latest health snapshot
What to Look For When Checking Status
Check:
- whether the job is queued or already running
- the last successful sync time for each provider
- whether only one provider is failing while others look healthy
- whether the issue is a connection error, an account-selection problem, or normal provider latency
What Happens If a New Sync Request Is Rejected
Only one sync runs per workspace at a time. If another sync is already in progress, MerchantFlow rejects the new request with the error "Sync already in progress" and returns the id and start time of the run that is already going. Let the existing run finish before submitting another request.
What to Do If a Sync Looks Stuck
There is not currently a standard customer-facing "cancel sync" control in the dashboard UI.
MerchantFlow does clean up stuck runs on its own in three ways:
- a run whose worker is no longer alive -- an orphan -- is marked failed on the next trigger attempt once it is more than 30 minutes old, with the message "Sync timed out after 30 minutes". A run whose worker is still alive is never touched by this, however long it has been going
- a run whose worker is alive but which has stopped making progress is abandoned once it has been silent for its idle budget: 45 minutes for a normal sync, 2 hours for a full-history sync. The budget measures silence, not total runtime, and every piece of completed work resets it
- a background watchdog runs every five minutes and releases sync locks left behind by a worker that stopped unexpectedly
The distinction matters for large stores: a first full-history import can legitimately run for hours, and it will not be interrupted as long as it keeps making progress.
If a job still appears stuck:
- wait a few minutes to rule out provider delay
- review the related integration health and the Audit Logs panel on Settings > Integrations
- rerun a targeted sync if the previous run has finished
- contact
[email protected]if the same job remains stuck and needs a reset
Frequently Asked Questions
How do I know if my data is up to date?
Check the Integration Health dropdown from the Live indicator. It shows the last synced time for each provider and a "Next scheduled sync" countdown. If no schedule is known yet it reads "Not scheduled"; if the next run is imminent it reads "Starting soon".
Why does my sync show "Queued" for a long time?
The sync queue may be busy processing other jobs. Wait briefly and refresh the status view. If the queue clears without your job starting, review integration health before retrying.
Can I cancel a running sync job?
Not through the dashboard UI at this time. If a job needs to be manually reset, contact [email protected].
What does it mean if all providers show "Failed"?
Simultaneous failures across all providers usually indicate a network issue or an expired primary OAuth connection. Check your internet connection and verify that your Google or platform credentials have not been revoked.
Related Pages
- Dashboard Overview - Navigate your analytics workspace
- Sync Overview - Background sync model
- Manual Sync - Trigger on-demand syncs
- Selective Sync - Provider-specific sync
- Sync Troubleshooting - Fix stale or failed data
Last updated: September 16, 2026
Last updated on
Selective Sync - Sync One Provider
Choose a specific MerchantFlow integration to sync instead of refreshing all providers. Target Shopify, Google, Meta, or other platforms individually.
Sync Troubleshooting - Fix Stale Data
Fix common MerchantFlow sync issues including stale data, failed jobs, expired tokens, and partial provider updates with this step-by-step checklist.