Queue Stalled
Troubleshoot a stalled sync queue.
If your sync queue has stopped processing or items are stuck, follow this guide to get things moving again.
Symptoms
- Items stuck in queue for extended periods
- Queue count not decreasing
- Sync progress bar not moving
- Backlog continuously growing
Common Causes
1. WP-Cron Not Firing
WordPress's built-in cron is visitor-dependent and often fails on low-traffic sites.
Solution: Set up a server-side cron job for reliable, scheduled execution.
→ Server-Side Cron Setup Guide
2. Server Timeouts
Long-running sync operations may be killed by server timeout limits.
Symptoms:
- Partial syncs completing
- Items failing repeatedly
- Timeout errors in logs
Solutions:
- Increase
max_execution_timein PHP settings - Enable performance settings to reduce load
- Contact your host about increasing limits
3. Memory Limits
PHP memory exhaustion can stop queue processing.
Symptoms:
- "Allowed memory size exhausted" errors
- Queue stops mid-process
- Large products failing
Solutions:
- Increase
memory_limitin PHP settings (256M recommended) - Enable request delays to reduce concurrent memory usage
- Process smaller batches
4. Rate Limiting Active
If rate-limiting is enabled and triggered, the queue pauses intentionally.
How to check:
- Go to SWS Pro > Settings > Performance
- Check if rate-limiting is enabled
- Look for rate-limit status indicator
Solutions:
- Wait for backlog to clear (automatic)
- Increase rate limit threshold
- Widen the time window
5. Stuck Queue Items
Individual items may be stuck due to errors.
Solutions:
- Check sync logs for specific errors
- Clear stuck items from queue
- Retry failed items manually
Step-by-Step Recovery
Step 1: Check Queue Status
- Go to SWS Pro > Queue
- Note the total items pending
- Check for any items marked as failed
Step 2: Review Recent Logs
- Go to SWS Pro > Logs
- Look for error messages
- Identify patterns (same product failing, timeout errors, etc.)
Step 3: Verify Cron Is Running
Test if WP-Cron is firing:
- Install WP Crontrol plugin (optional)
- Check scheduled tasks are executing
- Or set up server-side cron
Step 4: Enable Performance Settings
If you have a large backlog:
- Go to SWS Pro > Settings > Performance
- Enable Rate-Limiting
- Enable Request Delays
- Save and monitor queue progress
Step 5: Clear Stuck Items (If Needed)
If specific items are blocking the queue:
- Identify the stuck item in logs
- Check the source product in Square
- Fix any data issues
- Clear and retry the item
Prevention
To prevent future queue stalls:
- Set up server-side cron — Most reliable solution
- Enable performance settings — For high-volume catalogs
- Monitor queue regularly — Catch issues early
- Review server limits — Ensure adequate PHP resources
Server Requirements
| Setting | Minimum | Recommended |
|---|---|---|
| PHP memory_limit | 128M | 256M |
| PHP max_execution_time | 60s | 120s |
| Cron frequency | 5 min | 1 min |
Still Stuck?
If the queue remains stalled:
- Check Products Not Importing guide
- Check Real-Time Sync Issues guide
- Review PHP error logs on your server
- Contact support with your sync logs and queue status