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.0b1.tar.gz (5.6 kB view details)

Uploaded Source

yassh-0.5.0b1.linux-x86_64.tar.gz (10.4 kB view details)

Uploaded Source

File details

Details for the file yassh-0.5.0b1.tar.gz.

File metadata

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

File hashes

Hashes for yassh-0.5.0b1.tar.gz
Algorithm Hash digest
SHA256 71774e6b499e500a63cdace0a00773d4616ac6ead2fa25b762a3e85cef63a81f
MD5 ec32fc1a27ff67aaa9c9f26b257913d2
BLAKE2b-256 c1ac4dfa5d76b6bce5ae4ef69806b6a634122eb9226a61c6d59664d6572e153c

See more details on using hashes here.

File details

Details for the file yassh-0.5.0b1.linux-x86_64.tar.gz.

File metadata

File hashes

Hashes for yassh-0.5.0b1.linux-x86_64.tar.gz
Algorithm Hash digest
SHA256 0b575320ae681d42509c4f8a8878f15b0e6dc2a53ae94e33cbedce69cbeb4f03
MD5 1b83774f3dc135909d19fae78f4db0be
BLAKE2b-256 3e6874a872116707bc2c587fcd45f48cfb03f486740d87a183df3f5569398fcb

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