From dbafd4fb73d6b6d393cd9cc18a8641dc3b1a9932 Mon Sep 17 00:00:00 2001 From: hubian <908234780@qq.com> Date: Wed, 22 Apr 2026 18:16:17 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20ChatTTS=E6=A3=80=E6=B5=8B=E6=94=B9?= =?UTF-8?q?=E7=94=A8=E5=90=8C=E6=AD=A5requests=EF=BC=8C=E8=A7=A3=E5=86=B3a?= =?UTF-8?q?sync=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- __pycache__/tts_service.cpython-310.pyc | Bin 8805 -> 8375 bytes logs/server.log | Bin 329697 -> 1301 bytes requirements.txt | 3 ++- tts_service.py | 25 +++++++----------------- 4 files changed, 9 insertions(+), 19 deletions(-) diff --git a/__pycache__/tts_service.cpython-310.pyc b/__pycache__/tts_service.cpython-310.pyc index 81dcc0de5a2be0cc6e27088da7d291e34e37fbc4..998696aabefeabe65698a3ef6d552a2d6bd3d750 100644 GIT binary patch delta 866 zcmYk3-%Aux6vyYx%>HoKU3S-6_tz}53hEdr6p@)?W{3s-AlKB=)@f#P*Iit^GmE(F zCO!046r7hpB=@E42SoHkh@!^`gy>C{-b5;i{(`{nUCSDn&pG$p?>YCLbGJ^e^?UOk zkBg(<$NS$hH>Ky^RUat0=39jmIOUh24{!K47j0C)R0H%kA5fII8BT`+N6r@y=)4X& zC_@Qmcp4X$I9*ugby2t7=F5DEpAmI?mM85ce#KVd%0fw4;dMs^bZ3_8Q`~5++Aycr z{l5}9%f4_9xUvXbcd@~8tT=U7NnGNV`3k_Ec${9NEM6Dcg=mSIKM(VNN-A#L3A8L0 z9i3@I%~|R1tPussacW3E!w^N4&u0gV!GW}DC6mLlmNvAkd`->d482=c>PR!wIEgV= zFiguNhgn_^i@8lpwF+iR%j*U?&BCV`x)_d9C^q7wCO|H*$Qgz{iYgdb3GIvCrM}rj z;o^C4LJ(Y(0kGShzwp)mJJJYC@b1A+y{f}BtW<&IR!|KRxQO-P5dH|p1RptuUpx}F zHNJsIxY;-dPjMtP1<&wxXf`}XQ`xhb>=B)u2oc^Z1OzgMz2R+`z_!S|`x4zEml-DT zapaJPGZ$JpKw*{19z{b^IBv#A=&0*}sACyY*Cj z5|iOGuE*ZPRlFs2Qofbipo&}45Tvjp-T@mp8Lzb3r zs|;z1Dx}Ckwn(Bs++Yh(_bV>RJ+#3MS%ER+6U{M=33R3wa~abj*_x|oG>hc0KOx!1 zY2YPli9{>&ln{whL)sZyDXNZKetJ4HJ6(0C=EAI&$>YOBD~#fT8285zg=rlhUQ I>vawO29{^gH2?qr delta 1296 zcmZvaU1%It6vywmGyCDD8Sl zlF((>wN&X!DHZNR#ZuVCmzF+APzdy;ufF;uEPX2l>w^zINGsBM&TN{3I+y#KGw1&A zIrp49yR-LBYUS?k2*aoA%U=r{i5=~F58RNuJ=bAQW_pt_BhU5Tt*a;?m4ef4AR16) z7Hl#xThT3UfdgML|IKS~fn9(#ZYh@fMYzVR&{SHisaE-U)`AA4*^<9I#Z=}6&dva< zDZncIUa%Rm0#)TIyT)4p%nEk2%a}*6DW55nGKC*xZ^QOp5F;ex{S$Q)&$R#0De1Hl zr~3eL4k})QHCcxd2TMB_2kTfXnk_pDVtfxJu&Hrs|?Y~;$kZ4 ze9ly)fVo-LV$a$C#UUfSNWOJ3S3mp9sdVzZRqEO`YdZI(aT zaBR;OZ_>77gjW!TiiM#4K4FnfVl=QjRi(&9rHNt0*En4r5#b!dI5a+>NoC-2e3>ME zAD%WNzGWKOll1`U?5;Sid|zs4Ju5Re7g7F1H46!H@Fj(5J8~zZ=THEvXKd zMpjU~gVUv-Im}duaZTw{#EQH){2OHCR&={-l>(*-8TlYO)lGZwqWns-^4Q1({3O#O z-;8BC{*Os%66ltn2yHnSn}A>BbgZTOi@xk>XLu)`Eg!~`a7V^QZ^N2wj~+or^k?Co zoYEJ-lvRBa?#i2b3x5CMo%m}2IeBp`Zuo6}m(qngak?nKO>huxNQ)Qf;{$BVF#I9! zk4#6Jx7aqQmRhD^+ee>t%B)^4S6{c51c{AZMl;;I8K%k6{GkPhY5!e l?T}N>%z7ttZP0fu>CI>Q^vRYUfn;T6QV|E0KnFGZv u;4D*ikgTbp$z%y;dyuFJNDo*Z%u?KJ!m@{PIvYFdWezh#OAB+eSS|omXB!Lv literal 329697 zcmeIxU2EG`7y#g1=T{th)l%lK*omXNV3sbdBqj04MJYqbC$*R>snW5>{{7^_Qo~wk zXLd85BM|85{Wv^&b$xSnn}z+lPkEc-Ds-{k#Wpl;UBs>nZ)fL|>HPHF$@Np@Ltdt` zdLJI^HsnpSDT_RnbrrgOg>5r92)+F0>rm7mnoUgcFz(k~S=4P6+HFow>0}mu49{Nu zv<$=kd}-T-pO?!w!|`DJEKEkDaQn-Dlsuiz|9$7?A2s7^lbKjh`7?Z>(eMO{^~ zNM&7hA=RPS)Lk5e=Zodt>z9lDP9Idn@NrwF7hfrnH_fIj@_mia^)2_^1_!a1UwGg5 l{m^V;iid$$WmR_TxC&itcd-pkTNknG!rSS2e_gyg`3nJWRj>d6 diff --git a/requirements.txt b/requirements.txt index 7c99566..015d625 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,4 +2,5 @@ fastapi==0.110.0 uvicorn==0.27.1 python-multipart==0.0.9 aiohttp==3.9.3 -edge-tts==6.1.9 \ No newline at end of file +edge-tts==6.1.9 +requests==2.31.0 \ No newline at end of file diff --git a/tts_service.py b/tts_service.py index c01aa66..b104d1f 100644 --- a/tts_service.py +++ b/tts_service.py @@ -145,24 +145,13 @@ class ChatTTSProvider(TTSProvider): """检查 ChatTTS 是否可用""" if self._available is None: try: - import aiohttp - import asyncio - - async def check(): - try: - async with aiohttp.ClientSession() as session: - async with session.get( - f"{self.CHATTTS_URL}/health", - timeout=aiohttp.ClientTimeout(total=5) - ) as resp: - if resp.status == 200: - data = await resp.json() - return data.get("status") == "ok" - except: - pass - return False - - self._available = asyncio.get_event_loop().run_until_complete(check()) + import requests + resp = requests.get(f"{self.CHATTTS_URL}/health", timeout=5) + if resp.status_code == 200: + data = resp.json() + self._available = data.get("status") == "ok" + else: + self._available = False except Exception as e: logger.warning(f"ChatTTS check failed: {e}") self._available = False