From eb62463e7d6b69ae4960f5009928e55109868c97 Mon Sep 17 00:00:00 2001 From: Manos Pitsidianakis Date: Thu, 16 Jul 2020 22:53:16 +0300 Subject: [PATCH] jobs: add spawn_blocking() method --- src/jobs.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/jobs.rs b/src/jobs.rs index 5804b6b2..62fde1d9 100644 --- a/src/jobs.rs +++ b/src/jobs.rs @@ -214,6 +214,14 @@ impl JobExecutor { (receiver, JoinHandle(handle), job_id) } + + pub fn spawn_blocking(&self, future: F) -> (oneshot::Receiver, JoinHandle, JobId) + where + F: Future + Send + 'static, + R: Send + 'static, + { + self.spawn_specialized(smol::Task::blocking(async move { future.await })) + } } pub type JobChannel = oneshot::Receiver>;