From 2f4885305ef7f0663ff13fa215f5e6e3d91f8641 Mon Sep 17 00:00:00 2001 From: kimpure Date: Tue, 19 May 2026 18:26:30 +0000 Subject: [PATCH] fix api respond --- crates/yaejuyang-supertonic/src/api.rs | 7 ++++--- crates/yaejuyang-supertonic/src/tts/pool.rs | 8 ++++++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/crates/yaejuyang-supertonic/src/api.rs b/crates/yaejuyang-supertonic/src/api.rs index e3dc7a7..e0efe61 100644 --- a/crates/yaejuyang-supertonic/src/api.rs +++ b/crates/yaejuyang-supertonic/src/api.rs @@ -1,6 +1,6 @@ use std::sync::Arc; -use axum::{Json, extract::State}; +use axum::{Json, extract::State, http::StatusCode}; use crate::tts::TtsPool; use serde::{Deserialize, Serialize}; @@ -15,8 +15,9 @@ pub struct Body { pub async fn handler( State(state): State>, Json(payload): Json, -) -> Result, String> { +) -> Result, (StatusCode, String)> { Ok(state .synthesize(payload.text, payload.lang, payload.style_id) - .await?) + .await + .map_err(|err| (StatusCode::BAD_REQUEST, err))?) } diff --git a/crates/yaejuyang-supertonic/src/tts/pool.rs b/crates/yaejuyang-supertonic/src/tts/pool.rs index ffc59f4..3a20b25 100644 --- a/crates/yaejuyang-supertonic/src/tts/pool.rs +++ b/crates/yaejuyang-supertonic/src/tts/pool.rs @@ -55,8 +55,12 @@ impl TtsPool { let start_at = Instant::now(); let Some(style) = style_map.get(&job.style_id) else { - job.reply - .send(Err(format!("Voice style {} not found", job.style_id))); + if let Err(_) = job + .reply + .send(Err(format!("Voice style {} not found", job.style_id))) + { + tracing::error!("Worker send error"); + } continue; };