Skip to content

Batch Operations

Fresh

Source: 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-v1
  • run-updates-v1
  • update-all-v1
  • reconnect-sites-v1
  • disconnect-sites-v1
  • check-sites-v1
  • suspend-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

StatusDescription
queuedWaiting to start
processingCurrently executing
completedAll done
failedAll operations failed

Job Lifecycle

SettingValue
Persistence24 hours
Timeout4 hours
Chunk size20 sites per cron interval
Chunk delay30 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.