Why isn't Fabric doing this? This would be basic feature of deployment software I would think. I vaguely remember the old, old Fabric (before they rewrote everything) did this.
The branch actually does client side forks, one for each server in a task. Then each call inside a task is run sequentially, as expected in normal fabric usage. I've also included the ability to set a pool size, so that one can manage the number of ssh connections open simultaneously.
Yeah, thats the goal anyways. I tend to reach out to 50+ servers at a time, and iterating though that on any tasks that take over a min is mind numbing.
Well through this post perhaps the branch will be better known, but I haven't really posted much about it in that I though it'd be done sooner. Then any mention of a branch would be negated by it's inclusion in master.
There's a branch with this feature: http://github.com/goosemo/fabric. The current work's in the "mutliprocessing" branch. I'm using it for a big deploy right now, and it appears to be working well.
[edit: fixed my mistake about where the most current code lives]
8 comments
[ 4.0 ms ] story [ 30.8 ms ] threadi haven't really followed their progress too closely, but they seem to be close to releasing something for 1.0.
I think they do client-side threading while i prefer to to do fork() on the server to avoid multiple ssh connections and retain maximum control.
i'll reevaluate when they ship. till then parex works for me.
i mostly just got tired of waiting for an individual deploy to my staging server.
btw thanks for emailing me! - i'll definitely look at your branch and see if i can help! (wasn't aware of it until today)
Well through this post perhaps the branch will be better known, but I haven't really posted much about it in that I though it'd be done sooner. Then any mention of a branch would be negated by it's inclusion in master.
[edit: fixed my mistake about where the most current code lives]