actions-runner-controller/controllers
Claude b8ad1b3e8f
Optimize runner creation with parallel execution
This change improves performance during large scale-up operations by
creating ephemeral runners in parallel instead of sequentially.

Key improvements:
- Implement parallel runner creation using goroutines
- Add concurrency limit (10) via semaphore pattern to prevent API overload
- Maintain thread-safe error collection with mutex
- Use atomic counter for accurate progress tracking
- Preserve all existing error handling and logging behavior

Expected impact: 5-10x faster scale-up for large runner sets (e.g., 1→100 runners)

The implementation uses:
- sync.WaitGroup to coordinate goroutine completion
- Buffered channel as semaphore to limit concurrent API calls
- sync.Mutex to protect shared error slice
- sync/atomic for thread-safe progress counter

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-23 19:03:31 +00:00
..
actions.github.com Optimize runner creation with parallel execution 2025-10-23 19:03:31 +00:00
actions.summerwind.net feat(runner): add ubuntu 24.04 support (#3598) 2025-07-01 18:34:52 +09:00