mirror of
https://github.com/xinnan-tech/xiaozhi-esp32-server.git
synced 2026-07-28 21:13:51 +08:00
Merge pull request #2602 from xinnan-tech/remove_gc
update:将垃圾回收放置ws关闭处,避免频繁操作
This commit is contained in:
@@ -1127,6 +1127,9 @@ class ConnectionHandler:
|
|||||||
)
|
)
|
||||||
self.executor = None
|
self.executor = None
|
||||||
|
|
||||||
|
import gc
|
||||||
|
gc.collect()
|
||||||
|
|
||||||
self.logger.bind(tag=TAG).info("连接资源已释放")
|
self.logger.bind(tag=TAG).info("连接资源已释放")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.logger.bind(tag=TAG).error(f"关闭连接时出错: {e}")
|
self.logger.bind(tag=TAG).error(f"关闭连接时出错: {e}")
|
||||||
|
|||||||
@@ -97,7 +97,6 @@ def opus_to_wav(conn, opus_data):
|
|||||||
if decoder is not None:
|
if decoder is not None:
|
||||||
try:
|
try:
|
||||||
del decoder
|
del decoder
|
||||||
gc.collect()
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
conn.logger.bind(tag=TAG).debug(f"释放decoder资源时出错: {e}")
|
conn.logger.bind(tag=TAG).debug(f"释放decoder资源时出错: {e}")
|
||||||
|
|
||||||
|
|||||||
@@ -353,7 +353,6 @@ class ASRProvider(ASRProviderBase):
|
|||||||
try:
|
try:
|
||||||
del self.decoder
|
del self.decoder
|
||||||
self.decoder = None
|
self.decoder = None
|
||||||
gc.collect()
|
|
||||||
logger.bind(tag=TAG).debug("Aliyun decoder resources released")
|
logger.bind(tag=TAG).debug("Aliyun decoder resources released")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.bind(tag=TAG).debug(f"释放Aliyun decoder资源时出错: {e}")
|
logger.bind(tag=TAG).debug(f"释放Aliyun decoder资源时出错: {e}")
|
||||||
|
|||||||
@@ -271,6 +271,5 @@ class ASRProviderBase(ABC):
|
|||||||
if decoder is not None:
|
if decoder is not None:
|
||||||
try:
|
try:
|
||||||
del decoder
|
del decoder
|
||||||
gc.collect()
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.bind(tag=TAG).debug(f"释放decoder资源时出错: {e}")
|
logger.bind(tag=TAG).debug(f"释放decoder资源时出错: {e}")
|
||||||
|
|||||||
@@ -377,7 +377,6 @@ class ASRProvider(ASRProviderBase):
|
|||||||
try:
|
try:
|
||||||
del self.decoder
|
del self.decoder
|
||||||
self.decoder = None
|
self.decoder = None
|
||||||
gc.collect()
|
|
||||||
logger.bind(tag=TAG).debug("Doubao decoder resources released")
|
logger.bind(tag=TAG).debug("Doubao decoder resources released")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.bind(tag=TAG).debug(f"释放Doubao decoder资源时出错: {e}")
|
logger.bind(tag=TAG).debug(f"释放Doubao decoder资源时出错: {e}")
|
||||||
|
|||||||
@@ -519,7 +519,6 @@ class ASRProvider(ASRProviderBase):
|
|||||||
try:
|
try:
|
||||||
del self.decoder
|
del self.decoder
|
||||||
self.decoder = None
|
self.decoder = None
|
||||||
gc.collect()
|
|
||||||
logger.bind(tag=TAG).debug("Xunfei decoder resources released")
|
logger.bind(tag=TAG).debug("Xunfei decoder resources released")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.bind(tag=TAG).debug(f"释放Xunfei decoder资源时出错: {e}")
|
logger.bind(tag=TAG).debug(f"释放Xunfei decoder资源时出错: {e}")
|
||||||
|
|||||||
@@ -41,7 +41,6 @@ class VADProvider(VADProviderBase):
|
|||||||
if hasattr(self, 'decoder') and self.decoder is not None:
|
if hasattr(self, 'decoder') and self.decoder is not None:
|
||||||
try:
|
try:
|
||||||
del self.decoder
|
del self.decoder
|
||||||
gc.collect()
|
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|||||||
@@ -133,6 +133,5 @@ class OpusEncoderUtils:
|
|||||||
try:
|
try:
|
||||||
del self.encoder
|
del self.encoder
|
||||||
self.encoder = None
|
self.encoder = None
|
||||||
gc.collect()
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logging.error(f"Error releasing Opus encoder: {e}")
|
logging.error(f"Error releasing Opus encoder: {e}")
|
||||||
@@ -398,7 +398,6 @@ def opus_datas_to_wav_bytes(opus_datas, sample_rate=16000, channels=1):
|
|||||||
if decoder is not None:
|
if decoder is not None:
|
||||||
try:
|
try:
|
||||||
del decoder
|
del decoder
|
||||||
gc.collect()
|
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user