Managing tasks across multiple machines requires careful planning and best practices. Learn how to optimize your workflow with Rediacc.
Priority Management
Understanding Priorities
Rediacc uses a 5-level priority system (1 = highest, 5 = lowest). Use priorities strategically:
- Priority 1: Critical tasks that must run immediately (database backups, emergency fixes)
- Priority 2: Important tasks with time sensitivity (deployments, security patches)
- Priority 3: Standard tasks (regular syncs, reports)
- Priority 4: Background tasks (cleanup, maintenance)
- Priority 5: Low-priority tasks (archives, logs)
Example
./rediacc create task \
--machine prod-01 \
--priority 1 \
--command "systemctl restart webserver"
Retry Strategies
Handling Failures
Configure retry behavior based on task type:
{
"taskId": "550e8400-e29b-41d4-a716-446655440000",
"retryCount": 3,
"retryDelay": 30,
"failureAction": "alert"
}
Team Organization
Structuring Teams
- Create separate teams for different environments (prod, staging, dev)
- Assign different machines to each team based on access requirements
- Use team vaults to store environment-specific credentials
Monitoring and Logging
Best Practices
- Monitor queue depth - Track how many tasks are pending
- Set up alerts - Get notified of failures immediately
- Archive logs - Keep audit trails for compliance
- Use structured logging - Include context in task output
Security Considerations
Always follow these guidelines:
- Never hardcode credentials in tasks
- Use vault encryption for sensitive data
- Rotate SSH keys regularly
- Limit team member access by role
- Enable audit logging for all operations
Performance Tips
- Batch small tasks when possible
- Use async operations for non-blocking tasks
- Monitor machine CPU and memory utilization
- Distribute load across multiple machines
Learn more in our CLI reference guide.