The almighty remote command executor for Unix machines
Project description
Talker
The almighty remote command executor for Unix machines
Basic Usage
Connecting a client to a Redis backend
In [1]: from talker.client import get_talker
In [2]: params = dict(
host='redis.example.com',
password='*********',
port=8415,
name='SomeRedisServer')
In [2]: client = get_talker(**params)
In [3]: client
Out[3]: <Talker SomeRedisServer/redis.example.com:8415>
Running a command
In [1]: cmd = client.run(host_id, 'bash', '-ce', 'echo hello')
In [2]: cmd.result()
Out[2]: 'hello\n'
Waiting for a command
In [1]: cmd = client.run(host_id, 'bash', '-ce', 'sleep 10')
In [2]: cmd.wait()
Out[2]: 0
Command timeout
In [1]: cmd = client.run(host_id, 'bash', '-ce', 'sleep 10', timeout=2)
In [2]: cmd.wait()
CommandTimeoutError: Command timed out after 2s: `bash -ce sleep 10`
args = bash -ce sleep 10
cmd = f812c749-bdf1-4761-bae3-a279b07c64c4
host_id = 827605a7-791e-4c6c-8f5c-eca52d7849f5.talker-0
hostname = talker-0
name = `bash -ce sleep 10`
retcode = -1
since_started = 2.2s
stderr =
stdout =
talker = <Talker SomeRedisServer/redis.example.com:8415>
timeout = 2s
timestamp = 2019-06-24T15:41:10.112050
Command failures
In [25]: cmd = client.run(host_id, 'bash', '-ce', 'exit 2')
In [26]: cmd.result()
CommandExecutionError: Command execution error: `bash -ce exit 2`
args = bash -ce exit 2
cmd = 58564019-88cd-4c1b-8067-b0dada118ac4
host_id = 827605a7-791e-4c6c-8f5c-eca52d7849f5.talker-0
hostname = talker-0
name = `bash -ce exit 2`
retcode = 2
since_started = None
stderr =
stdout =
talker = <Talker SomeRedisServer/redis.example.com:8415>
timestamp = 2019-06-24T15:42:00.020477
Ignoring command failures
In [1]: cmd = client.run(host_id, 'bash', '-ce', 'exit 2', raise_on_failure=False)
In [2]: cmd.result()
Out[2]: ''
Logging command output while it's running
In [43]: cmd = client.run(host_id, 'bash', '-ce', 'for i in {1..5}; do date; sleep 1; done')
In [44]: cmd.log_pipe(logger=logging.getLogger(), stdout_lvl=logging.WARNING)
Mon Jun 24 15:47:43 IDT 2019
Mon Jun 24 15:47:44 IDT 2019
Mon Jun 24 15:47:45 IDT 2019
Mon Jun 24 15:47:46 IDT 2019
Mon Jun 24 15:47:47 IDT 2019
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
talker-1.9.4.tar.gz
(25.5 kB
view details)
File details
Details for the file talker-1.9.4.tar.gz
.
File metadata
- Download URL: talker-1.9.4.tar.gz
- Upload date:
- Size: 25.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.7.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d730a03ea2a0f356bf444ed4f39bf832fddacd34202ae2dab7f663f74957dc61 |
|
MD5 | 633eb278dfaadfa41eec8d4b72baa096 |
|
BLAKE2b-256 | bf749f4d65ed5c4a8568c5d74706941ab6c7deacb1bf8aea114dde94c2cb95f9 |