Crates.io | rust-parallel |
lib.rs | rust-parallel |
version | 1.18.1 |
source | src |
created_at | 2022-11-26 16:04:37.641722 |
updated_at | 2024-05-04 16:13:51.804288 |
description | Fast command line app in rust/tokio to run commands in parallel. Similar interface to GNU parallel or xargs. |
homepage | |
repository | https://github.com/aaronriekenberg/rust-parallel |
max_upload_size | |
id | 723323 |
size | 257,996 |
Run commands in parallel and aggregate outputs. Async application using tokio.
Example commands and detailed manual.
Listed in Awesome Rust - utilities
Similar interface to GNU Parallel or xargs plus useful features:
:::
argumentsRecommended:
For manual installation/update:
$ cargo install rust-parallel
cargo install rust-parallel
command will also update to the latest version after initial installation.multi_cartesian_product
to process :::
command line inputs.-r
/--regex
option.async
/ await
functions (aka coroutines)CommandLineArgs
instance using tokio::sync::OnceCell
.tokio::process::Command
tokio::sync::Semaphore
used to limit number of commands that run concurrently.tokio::sync::mpsc::channel
used to receive inputs from input task, and to send command outputs to an output writer task. To await command completions, use the elegant property that when all Senders
are dropped the channel is closed.tracing::Instrument
is used to provide structured debug logs.