
This feature is currently in Beta. Update to the latest Hoop version to access it.
What You’ll Accomplish
Parallel Mode lets you run the same command across multiple connections at once. Instead of connecting to each server individually, you can:- Restart services across multiple servers simultaneously
- Run the same query on multiple databases
- Execute maintenance scripts on all production hosts
- Check status across your entire infrastructure
How It Works
Quick Start
Step 1: Open Parallel Mode
- Go to the Web Terminal in the Hoop Web App
- Click the Parallel Mode toggle in the top-right corner
Step 2: Select Connections
- Use the connection picker to select multiple connections
- Filter by type, tags, or name to find connections quickly
- Click connections to add them to your selection
Step 3: Run a Command
- Type your command in the input field
- Click Execute or press Enter
- Watch results stream in from all connections
Step 4: Review Results
The Execution Summary shows:- Success - Command completed successfully
- Error - Command failed (click to see details)
- Approval Required - Waiting for access request approval
Use Cases
1. Service Restarts
Restart a service across all application servers:app-server-* connections and execute once.
2. Database Health Checks
Check replication status on all database replicas:db-replica-1, db-replica-2, db-replica-3 simultaneously.
3. Configuration Updates
Update a configuration file on multiple hosts:4. Log Collection
Check recent errors across all servers:5. Kubernetes Operations
Scale deployments across multiple clusters:Working with Results
Execution Summary
The summary panel shows the status of each connection:| Status | Icon | Meaning |
|---|---|---|
| Success | Green check | Command completed successfully |
| Error | Red X | Command failed |
| Running | Spinner | Command in progress |
| Pending Approval | Clock | Waiting for access request |
Viewing Output
Click on any connection in the summary to see its full output:- stdout - Standard output from the command
- stderr - Error output (if any)
- Exit code - Command exit status
Comparing Results
Results are displayed side-by-side, making it easy to:- Spot differences between servers
- Identify which servers have issues
- Verify consistent state across infrastructure
Filtering and Selection
Filter by Type
Select connections by resource type:- Databases
- Servers
- Kubernetes clusters
- Applications
Filter by Tags
Use tags to group related connections:environment:productionregion:us-eastteam:platform
Search
Type to search connections by name.Select All Matching
After filtering, click Select All to add all visible connections.Access Requests in Parallel Mode
If connections require access request approval:- JIT Access Requests: You’ll be prompted to request access for each connection that requires it
- Action Access Requests: Each command submission creates approval requests
- Mixed: Some connections may execute immediately while others wait for approval
Runbooks in Parallel Mode
You can also run Runbooks across multiple connections:- Open Runbooks in the sidebar
- Select a runbook
- Enable Parallel Mode
- Select target connections
- Fill in runbook parameters
- Execute
Best Practices
Test First
Run commands on one connection before scaling to many
Use Tags
Tag connections for easy group selection
Start Small
Begin with a few connections, then expand
Review Carefully
Check all results, not just the first one
Safety Tips
- Dry run first: If your command supports it (e.g.,
--dry-run), test before executing - Limit scope: Don’t select all connections unless you’re sure
- Check the list: Review selected connections before executing
- Monitor results: Watch for failures as they occur
Troubleshooting
Some Connections Fail
If some connections succeed but others fail:- Click the failed connection to see the error
- Common causes:
- Connection is offline
- Different OS or command not available
- Permission issues on that specific host
- Fix the issue and re-run on just the failed connections
Command Timeout
Long-running commands may timeout:- Check the command on a single connection first
- Consider breaking into smaller operations
- For very long operations, use a runbook with proper timeout settings
Access Request Delays
If approvals are slow:- Check that approvers are online
- Verify Slack/Teams notifications are working
- Consider pre-requesting access before running parallel commands
Limitations
Current beta limitations:| Limitation | Details |
|---|---|
| Maximum connections | 50 connections per parallel execution |
| Command size | 64KB maximum command length |
| Result size | 1MB maximum output per connection |
| Timeout | 5 minutes default per connection |