Git Product home page Git Product logo

fabric's Introduction

Fabric is a Python (2.5 or higher) library and command-line tool for
streamlining the use of SSH for application deployment or systems
administration tasks.

This branch adds in a few more features to basic Fabric. It will create one 
process per host given for parallel execution on commands, unless one sets the
pool size with the connad flag. I have leveraged the multiprocessing module to 
do this. 

There are new command flags for fab:
  -P, --parallel        use the multiprocessing module to fork by hosts
  -z FORKS, --pool-size=FORKS
                          Set the number of forks to use in the pool.

I have also added two decorators:
@runs_parallel
@runs_sequential

These will allow a fab file command to be set to be run either in parallel or
sequentially regardless of the fab command flag. Without these commands switch 
when the flag is set.

If you are interested in the guts, the implementation is in the main.py file,
and uses the Job_Queue class in the job_queue.py file. Note that this is only
implemented in the fab command, as there is no way to determine how one will 
execute functions if they are using Fabric as a helper library.

One other thing to note being that if you set a pool size larger than the
number of hosts, it'll set the pool size to the number of hosts. Otherwise an
error about poping from an empty list will crop up.

fabric's People

Contributors

aleszoulek avatar alisaifee avatar bitprophet avatar brosner avatar chrisvest avatar edennis avatar ericholscher avatar goosemo avatar kcbanner avatar mikejs avatar mitechie avatar mrooney avatar mw44118 avatar ramonvanalteren avatar sophacles avatar ssteinerx avatar svetlyak40wt avatar thomasballinger avatar tmc avatar tnm avatar tswicegood avatar worldmaker avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.