Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Fast command line app in rust/tokio to run commands in parallel. Similar interface to GNU parallel or xargs plus useful features. Listed in Awesome Rust utilities.

License

NotificationsYou must be signed in to change notification settings

aaronriekenberg/rust-parallel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Crates.ioHomebrewCI workflow

Run commands in parallel and aggregate outputs. Async application usingtokio.

Example commands anddetailed manual.

Listed inAwesome Rust - utilities

Similar interface toGNU Parallel orxargs plus useful features:

Contents:

Installation

Homebrew

WithHomebrew installed, run

brew install rust-parallel

Pre-built release

  1. Download a pre-built release fromGithub Releases for Linux, MacOS, or Windows.
  2. Extract the executable and put it somewhere in your $PATH.

From Crates.io via Cargo

  1. Install Rust

  2. Install the latest version of this app fromcrates.io:

    $ cargo install rust-parallel

The samecargo install rust-parallel command will also update to the latest version after initial installation.

Documents:

  1. Examples - complete runnable commands to give an idea of overall features.
  2. Manual - more detailed manual on how to use individual features.
  3. Benchmarks
  4. Output Interleaving - output interleaving in rust-parallel compared with other commands.

Tech Stack:

  • anyhow used for application error handling to propogate and format fatal errors.
  • clap command line argument parser.
  • itertools usingmulti_cartesian_product to process::: command line inputs.
  • indicatif optional TUI progress bar.
  • regex optional regular expression capture groups processing for-r/--regex option.
  • tokio asynchronous runtime for rust. From tokio this app uses:
    • async /await functions (aka coroutines)
    • SingletonCommandLineArgs instance usingtokio::sync::OnceCell.
    • Asynchronous command execution usingtokio::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 allSenders are dropped the channel is closed.
  • tracing structured debug and warning logs.
  • which used to resolve command paths for path cache.

About

Fast command line app in rust/tokio to run commands in parallel. Similar interface to GNU parallel or xargs plus useful features. Listed in Awesome Rust utilities.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp