Skip to content

Parallel Execution

Run the whole suite at once, not one request at a time.

Switch a file to parallel execution and every request goes out together on one libcurl multi handle. Cap concurrency to stay inside rate limits, and keep going past failures so one broken endpoint never hides the rest.

parallel.yaml
global:
  execution: parallel
  maxConcurrency: 5
  continueOnError: true
  variables:
    BASE: https://api.example.com

requests:
  - name: List users
    url: ${BASE}/users
    expect:
      status: 200

  - name: List orders
    url: ${BASE}/orders
    expect:
      status: 200

  - name: List invoices
    url: ${BASE}/invoices
    expect:
      status: 200

Benefits

  • One switch

    Set execution: parallel in the file, or pass -p on the command line. The requests stay exactly as they are.

  • Bounded concurrency

    maxConcurrency caps how many requests are in flight. Leave it unset and everything starts together.

  • Complete results

    With continueOnError, a failure doesn’t stop the run. You get a result for every request in one report.

Good for

  1. Smoke-testing many independent endpoints
  2. Large regression suites in CI
  3. Checking that every service in a stack answers
  4. Respecting a rate limit while still running concurrently