Skip to content

Assemble your crew. Get stuff done. Crew is a simple workerpool/job runner for Rust programs.

License

Notifications You must be signed in to change notification settings

damienstanton/crew

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CI Rust toolchain support

WARNING: unstable API, may break at any time

use crew::{assemble_crew, CrewError}; 

// positive case with one worker running function f1
fn f1() -> Result<i32, CrewError> {
    Ok(42)
}
let val1 = assemble_crew::<i32>(1, f1).await;
assert_eq!(val1.unwrap(), Some(42));

// negative case with one worker running function f2
fn f2() -> Result<i32, CrewError> {
    Err(CrewError::WorkerFailure("I just can't"))
}
let val2 = assemble_crew::<i32>(1, f2).await;
assert_eq!(val2.is_err(), true);

The failure in the second case triggers a nice breadcrumb:

Crew task interrupted by worker 9c30809e-5710-4420-8256-17a6a8a6d669. Cause: Worker reports a failure: I just can't

© 2020 Damien Stanton

See LICENSE for details.

About

Assemble your crew. Get stuff done. Crew is a simple workerpool/job runner for Rust programs.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages