capistrano / capistrano/bundler

Feature: rate limit for bundle:install task when using lots of servers

Open
#94 1 comment 0 reactions 0 assignees View on GitHub
new feature
Dominant language
Ruby
Stars
233
Forks
79
PR merge metrics
No merged PRs in 30d

Description

As mentioned by @gondalez in #93, the `bundle:install` task uses the default parallel SSHKit execution mode. This means if you have 100 servers you will potentially get 100 instances of `bundle:install` running concurrently. If a Gemfile uses a private gem server, this can overwhelm that server or run up against rate limits.

It would be nice to be able to configure the maximum parallelization of the `bundle:install` task.

However, I'd rather not introduce a `bundle:install`-specific configuration variable, because this sets a precedent for setting these sorts of variables for all kinds of Capistrano tasks (e.g. `git:clone/update`) that can run up against rate limits on shared resources. Ideally we could come up with a more generalizable solution.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading issue #93 and the implementation of the `bundle:install` task to understand how parallel SSHKit execution is selected. A complete solution would provide a general way to configure parallelization for tasks that may hit shared-resource rate limits, without adding a task-specific setting.

Written by the indexing model from the issue text.

Assessment

Tech stack
ruby
Domain
devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.