Skip to content

Simple, Pythonic remote execution and deployment

License

Notifications You must be signed in to change notification settings

ramonvanalteren/fabric

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Simple, Pythonic remote execution and deployment

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%