INNER CODE UNIT · Rust
create_task
wasmCloud/wasmCloud · templates/http-api-with-distributed-workloads/http-api/src/lib.rs:43
async fn create_task(mut req: Request<Body>) -> anyhow::Result<Response<Body>> {
let task_request: TaskRequest = req
.body_mut()
.json()
.await
.context("failed to parse body")?;
// The worker name selects the subject (`tasks.{worker}`), which routes to
// the worker subscribed to it (see `.wash/config.yaml`).
let subject = format!(
"tasks.{}",
task_request.worker.unwrap_or_else(|| "leet".to_string())
);
let body = task_request.payload.into_bytes();
let request_timeout = Duration::from_secs(5).as_millis() as u32;
match consumer::request(&subject, &body, request_timeout) {