Useful utility to easily run a command in parallel and understand any failures that may have occurred
Project description
multido provides a simple command line utility for easily running a shell command multiple times in parallel. One of the most useful examples generally works like this:
$ multido "ssh %s uptime" host1 host2 host3 host1: 22:02:28 up 5 days, 2:52, 0 users, load average: 0.05, 0.04, 0.05 host2: 22:02:27 up 5 days, 24 min, 0 users, load average: 0.05, 0.03, 0.05 host3: 22:02:28 up 6 days, 48 min, 0 users, load average: 0.01, 0.02, 0.05
Unlike say, xargs -P, multido will not just give up if there is a problem with one of the commands, instead it will output the STDERR to STDERR with the RC prepended to each line:
$ multido "ls /etc/%s" passwd missing sudoers passwd: /etc/passwd missing: RC1: ls: /etc/missing: No such file or directory sudoers: /etc/sudoers
multido also accepts stdin from a pipe too, making for easy to chain commands:
$ echo -e "host1\nhost2\nhost3" | multido "ssh %s date" host1: Mon Sep 17 22:08:40 UTC 2012 host2: Mon Sep 17 22:08:40 UTC 2012 host3: Mon Sep 17 22:08:40 UTC 2012
If you have a preferred grouping you would like the commands to be executed in there is a syntax to support grouping:
$ multido "echo %s; sleep 1" [ 'b1a' 'b1b' ] [ 'b2' ] [ 'b3a' 'b3b' 'b3c' ] b1a: b1a b1b: b1b b2: b2 b3a: b3a b3b: b3b b3c: b3c
Or if you just want to limit to batches of N at a time there is syntax available to achieve that:
$ N=2; multido -P$N "echo %s; sleep 1" a b c a: a b: b c: c
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
File details
Details for the file multido-0.1.0.tar.gz
.
File metadata
- Download URL: multido-0.1.0.tar.gz
- Upload date:
- Size: 3.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | aaf03aeaaa074f5512eb8c0dea5f3e9e1d2d68f5a5f4f6f19ac95786413d7e3c |
|
MD5 | 4031d8c6aeeac90177495ff2a3e07dc7 |
|
BLAKE2b-256 | 802244e7b7002ab7d7bf3e88f58f8469edfbe8d6c6e3be65a70831b85049bb23 |