concurrently

Crates.ioconcurrently
lib.rsconcurrently
version0.3.3
sourcesrc
created_at2021-12-14 09:50:31.888069
updated_at2023-07-29 11:29:14.213029
descriptionRun multiple processes concurrently.
homepage
repositoryhttps://github.com/tqwewe/concurrently
max_upload_size
id497646
size389,011
Ari Seyhun (tqwewe)

documentation

README

Concurrently

Run multiple processes concurrently, with support for cargo.

Written in Rust with ☕

Install with Cargo

$ cargo install concurrently

Getting Started

Create a tasks.toml file in the root of your project:

[tasks.client]
workspace = true  # Run the client cargo workspace member
retries = 3       # Retry 3 times before exiting
delay = "1s"      # Wait 1 second before running

[tasks.server]
workspace = true  # Run the server cargo workspace member
release = true    # Run in --release mode

[tasks.db]
command = [
  "docker",
  "run",
  "postgres",
]

Now you can simply run concurrently:

$ cargo concurrently

Config

Common

These configs are optional, and can be used with all tasks.

Config Type
prepare String Runs a command before starting the task.
delay String Waits before starting the task. This can be in the format of "1s", "100ms", etc.
retries Number Retries this task before exiting all other tasks.

Shell Task

Shell task runs a shell command.

Config Type
command String or Array Runs the command as the task.

Cargo Task

Cargo tasks are built using cargo with cargo build -p <name> where name is the name of the task.

cargo must be set to true for a task to be a cargo task.

Config Type
cargo Bool If set to true, treats this task as a cargo crate. The crate will be built on startup.
release Bool Builds for release.
features [String] Array of feature flags.
Commit count: 28

cargo fmt