diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2021-02-02 09:46:25 +0100 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2021-02-02 09:46:25 +0100 |
commit | e8ff91d96810c0082f36e99085b709ed6f7e695f (patch) | |
tree | 1e4721cde2fce94af2cb0e0b822cddad47c2f0ce | |
parent | 79ef89fc1ba76577cbce5312205610062b070b7d (diff) | |
parent | c0b7d3433b19c0bf256c0619426c204ce79b678c (diff) |
Merge branch 'fixes' into master
-rw-r--r-- | src/commands/source.rs | 3 | ||||
-rw-r--r-- | src/job/runnable.rs | 2 | ||||
-rw-r--r-- | src/orchestrator/orchestrator.rs | 9 |
3 files changed, 6 insertions, 8 deletions
diff --git a/src/commands/source.rs b/src/commands/source.rs index 1567ca7..404d9f7 100644 --- a/src/commands/source.rs +++ b/src/commands/source.rs @@ -113,7 +113,8 @@ where .collect::<futures::stream::FuturesUnordered<_>>() .collect::<Vec<Result<_>>>(); - let (results, _) = tokio::join!(results, async move { multi.join() }); + let multibar_block = tokio::task::spawn_blocking(move || multi.join()); + let (results, _) = tokio::join!(results, multibar_block); info!("Verification processes finished"); let out = std::io::stdout(); diff --git a/src/job/runnable.rs b/src/job/runnable.rs index 7bfabae..f91de5b 100644 --- a/src/job/runnable.rs +++ b/src/job/runnable.rs @@ -52,7 +52,7 @@ pub struct RunnableJob { } impl RunnableJob { - pub async fn build_from_job( + pub fn build_from_job( job: &Job, source_cache: &SourceCache, config: &Configuration, diff --git a/src/orchestrator/orchestrator.rs b/src/orchestrator/orchestrator.rs index b99767e..00cec75 100644 --- a/src/orchestrator/orchestrator.rs +++ b/src/orchestrator/orchestrator.rs @@ -314,12 +314,10 @@ impl<'a> Orchestrator<'a> { .collect::<futures::stream::FuturesUnordered<_>>() .collect::<Result<()>>(); - let root_recv = root_receiver.recv(); let multibar_block = tokio::task::spawn_blocking(move || multibar.join()); - - let (root_recv, _, jobs_result) = tokio::join!(root_recv, multibar_block, running_jobs); + let (_, jobs_result) = tokio::join!(multibar_block, running_jobs); let _ = jobs_result?; - match root_recv { + match root_receiver.recv().await { None => Err(anyhow!("No result received...")), Some(Ok((_, artifacts))) => Ok((artifacts, vec![])), Some(Err(errors)) => Ok((vec![], errors)), @@ -460,8 +458,7 @@ impl<'a> JobTask<'a> { &self.jobdef.job, self.source_cache, self.config, - dependency_artifacts) - .await?; + dependency_artifacts)?; self.bar.set_message(&format!("[{} {} {}]: Scheduling...", self.uuid, |