Batch Operations
FreshSource: MainWP Batch Operations
Batch Threshold
Operations affecting >200 sites are automatically queued for background processing. Below 200, operations execute synchronously.
Configurable via filter: mainwp_abilities_batch_threshold (default: 200)
Affected Abilities
sync-sites-v1run-updates-v1update-all-v1reconnect-sites-v1disconnect-sites-v1check-sites-v1suspend-sites-v1
Response Patterns
Immediate (200 sites or fewer)
json
{"queued": false, "results": {...}}Queued (>200 sites)
json
{"queued": true, "job_id": "abc123", "status_url": "/abilities/mainwp/get-batch-job-status-v1/run"}Status Endpoint
POST /abilities/mainwp/get-batch-job-status-v1/run
bash
curl -X POST -u "admin:xxxx" \
-H "Content-Type: application/json" \
-d '{"input":{"job_id":"abc123"}}' \
"https://your-dashboard.com/wp-json/wp-abilities/v1/abilities/mainwp/get-batch-job-status-v1/run"Status Values
| Status | Description |
|---|---|
queued | Waiting to start |
processing | Currently executing |
completed | All done |
failed | All operations failed |
Job Lifecycle
| Setting | Value |
|---|---|
| Persistence | 24 hours |
| Timeout | 4 hours |
| Chunk size | 20 sites per cron interval |
| Chunk delay | 30 seconds between chunks |
Error Handling
Individual failures are recorded while processing continues. Jobs complete successfully if any operations succeed. Jobs fail only if all operations fail.