Attached is a patch which adds the max_hosts option to tasks which
will limit capistrano to only running tasks against machines with
max_hosts concurrent ssh connections at once. After each
max_hosts-sized-block is done, it will tear down the ssh connections,
and open the next max_hosts-sized-block.
Not sure if this is the best way to go about doing it, but we have a
use case where we need to operate on a rather large set of machines
and we were bumping up against outbound connection limits.
Thoughts?
I also removed a line from the existing tests related to the previous
patches I sent in capistrano for on_error => continue. There was a
.receive(:failed) which was causing test failures with my new patch. I
cannot see how it ever worked, but it did. I'm a bit lost as to why
that line was there and how the test passed with it. It looks wrong to
me... weirdness.
Acknowledgement for: Rob Holland <rob@inversepath.com> if committed please.