Skip to main content

A remote process launcher.

Project description

Build Status Coverage Status Code Climate Issue Count

yassh

This project contains a python library used to run asynchronous and dependent ssh tasks.

Usage

import logging
from yassh import Reactor, RemoteRun, LocalRun

logging.basicConfig(level=logging.DEBUG)

r = Reactor()
c1 = RemoteRun('cmd1', r, 'localhost', 'user', 'sleep 5')
c2 = LocalRun('cmd2', r, 'echo ok')
c3 = RemoteRun('cmd3', r, 'localhost', 'user', 'echo "finished" && sleep 1')

# Start cmd2 when cmd1 complete
def start_c2(): c2.start()
c1.register_exit_monitor(start_c2)

# Start cmd3 when cmd2 complete
def start_c3(): c3.start()
c2.register_monitor(u'ok', start_c3)

 # Print dummy message when c3 is near terminaison
def on_c3_finished(): print 'c3 almost finished'
c3.register_monitor(u'finished', on_c3_finished)

# Start first task
c1.start()

timeout = -1
while r.run(timeout) > 0:
        pass

Installation

To install latest release:

pip install yassh

To install latest code:

pip install git+https://github.com/Enyx-SA/yassh.git

Testing

Run from project root:

behave

License

MIT License (see LICENSE)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

yassh-0.5.1.tar.gz (5.5 kB view details)

Uploaded Source

yassh-0.5.1.linux-x86_64.tar.gz (10.3 kB view details)

Uploaded Source

File details

Details for the file yassh-0.5.1.tar.gz.

File metadata

  • Download URL: yassh-0.5.1.tar.gz
  • Upload date:
  • Size: 5.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for yassh-0.5.1.tar.gz
Algorithm Hash digest
SHA256 568bc3a61b9d246c4a3a5339b122d69a4e4d30feeba55ea761874cfa402db746
MD5 60d22e8add0a8cb24f454b5b986778ce
BLAKE2b-256 500ce5af7dcbab12e97751c006277d8286f0e0b2d9e4489cac9255911067e2e3

See more details on using hashes here.

File details

Details for the file yassh-0.5.1.linux-x86_64.tar.gz.

File metadata

File hashes

Hashes for yassh-0.5.1.linux-x86_64.tar.gz
Algorithm Hash digest
SHA256 a33128a086f6c2d43950198c9827ccbb19c194f2f275a5e2ddc58e1ec0a3791e
MD5 d7de479fdf8a84465c73865408897710
BLAKE2b-256 9cd938d79b13930b93722ed777ffc9b36ecd525225d64824158c2d5ba5b46d80

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page