move logs outside of tokio spawn

This commit is contained in:
mbecker20
2024-04-11 04:41:31 -07:00
parent 18d31235d4
commit 2e67b16ba2
3 changed files with 51 additions and 36 deletions

View File

@@ -66,21 +66,26 @@ async fn handler(
user.username, user.id
);
let res = tokio::spawn(async move {
let res = State.resolve_request(request, user).await;
if let Err(resolver_api::Error::Serialization(e)) = &res {
warn!("/execute request {req_id} serialization error: {e:?}");
}
if let Err(resolver_api::Error::Inner(e)) = &res {
warn!("/execute request {req_id} error: {e:#}");
}
let elapsed = timer.elapsed();
info!("/execute request {req_id} | resolve time: {elapsed:?}");
res
State.resolve_request(request, user).await
})
.await
.context("failure in spawned execute task");
let elapsed = timer.elapsed();
info!("/execute request {req_id} | resolve time: {elapsed:?}");
if let Err(e) = &res {
warn!("/execute request {req_id} spawn error: {e:#}",);
}
AppResult::Ok((TypedHeader(ContentType::json()), res??))
let res = res?;
if let Err(resolver_api::Error::Serialization(e)) = &res {
warn!("/execute request {req_id} serialization error: {e:?}");
}
if let Err(resolver_api::Error::Inner(e)) = &res {
warn!("/execute request {req_id} error: {e:#}");
}
AppResult::Ok((TypedHeader(ContentType::json()), res?))
}

View File

@@ -122,21 +122,26 @@ async fn handler(
user.username, user.id
);
let res = tokio::spawn(async move {
let res = State.resolve_request(request, user).await;
if let Err(resolver_api::Error::Serialization(e)) = &res {
warn!("/write request {req_id} serialization error: {e:?}");
}
if let Err(resolver_api::Error::Inner(e)) = &res {
warn!("/write request {req_id} error: {e:#}");
}
let elapsed = timer.elapsed();
info!("/write request {req_id} | resolve time: {elapsed:?}");
res
State.resolve_request(request, user).await
})
.await
.context("failure in spawned task");
let elapsed = timer.elapsed();
info!("/write request {req_id} | resolve time: {elapsed:?}");
if let Err(e) = &res {
warn!("/write request {req_id} spawn error: {e:#}");
}
AppResult::Ok((TypedHeader(ContentType::json()), res??))
let res = res?;
if let Err(resolver_api::Error::Serialization(e)) = &res {
warn!("/write request {req_id} serialization error: {e:?}");
}
if let Err(resolver_api::Error::Inner(e)) = &res {
warn!("/write request {req_id} error: {e:#}");
}
AppResult::Ok((TypedHeader(ContentType::json()), res?))
}

View File

@@ -15,21 +15,26 @@ pub async fn handler(
let timer = Instant::now();
let req_id = Uuid::new_v4();
info!("request {req_id} | {request:?}");
let res = tokio::spawn(async move {
let res = State.resolve_request(request, ()).await;
if let Err(resolver_api::Error::Serialization(e)) = &res {
warn!("request {req_id} serialization error: {e:?}");
}
if let Err(resolver_api::Error::Inner(e)) = &res {
warn!("request {req_id} error: {e:#}");
}
let elapsed = timer.elapsed();
info!("request {req_id} | resolve time: {elapsed:?}");
res
})
.await;
let res =
tokio::spawn(
async move { State.resolve_request(request, ()).await },
)
.await;
let elapsed = timer.elapsed();
info!("request {req_id} | resolve time: {elapsed:?}");
if let Err(e) = &res {
warn!("request {req_id} spawn error: {e:#}");
}
AppResult::Ok((TypedHeader(ContentType::json()), res??))
let res = res?;
if let Err(resolver_api::Error::Serialization(e)) = &res {
warn!("request {req_id} serialization error: {e:?}");
}
if let Err(resolver_api::Error::Inner(e)) = &res {
warn!("request {req_id} error: {e:#}");
}
AppResult::Ok((TypedHeader(ContentType::json()), res?))
}