Small cleanup for task creation in SpeechmaticsSTTService
This commit is contained in:
@@ -369,17 +369,14 @@ class SpeechmaticsSTTService(STTService):
|
|||||||
"""Called when the new session starts."""
|
"""Called when the new session starts."""
|
||||||
await super().start(frame)
|
await super().start(frame)
|
||||||
await self._connect()
|
await self._connect()
|
||||||
self._stt_msg_task = self.create_task(self._process_stt_messages())
|
|
||||||
|
|
||||||
async def stop(self, frame: EndFrame):
|
async def stop(self, frame: EndFrame):
|
||||||
"""Called when the session ends."""
|
"""Called when the session ends."""
|
||||||
await self.cancel_task(self._stt_msg_task)
|
|
||||||
await super().stop(frame)
|
await super().stop(frame)
|
||||||
await self._disconnect()
|
await self._disconnect()
|
||||||
|
|
||||||
async def cancel(self, frame: CancelFrame):
|
async def cancel(self, frame: CancelFrame):
|
||||||
"""Called when the session is cancelled."""
|
"""Called when the session is cancelled."""
|
||||||
await self.cancel_task(self._stt_msg_task)
|
|
||||||
await super().cancel(frame)
|
await super().cancel(frame)
|
||||||
await self._disconnect()
|
await self._disconnect()
|
||||||
|
|
||||||
@@ -389,6 +386,7 @@ class SpeechmaticsSTTService(STTService):
|
|||||||
- Create STT client
|
- Create STT client
|
||||||
- Register handlers for messages
|
- Register handlers for messages
|
||||||
- Connect to the client
|
- Connect to the client
|
||||||
|
- Start message processing task
|
||||||
"""
|
"""
|
||||||
# Log the event
|
# Log the event
|
||||||
logger.debug(f"{self} connecting to Speechmatics STT service")
|
logger.debug(f"{self} connecting to Speechmatics STT service")
|
||||||
@@ -436,12 +434,22 @@ class SpeechmaticsSTTService(STTService):
|
|||||||
self._client = None
|
self._client = None
|
||||||
await self.push_error(error_msg=f"Error connecting to STT service: {e}", exception=e)
|
await self.push_error(error_msg=f"Error connecting to STT service: {e}", exception=e)
|
||||||
|
|
||||||
|
# Start message processing task
|
||||||
|
if not self._stt_msg_task:
|
||||||
|
self._stt_msg_task = self.create_task(self._process_stt_messages())
|
||||||
|
|
||||||
async def _disconnect(self) -> None:
|
async def _disconnect(self) -> None:
|
||||||
"""Disconnect from the STT service.
|
"""Disconnect from the STT service.
|
||||||
|
|
||||||
|
- Cancel message processing task
|
||||||
- Disconnect the client
|
- Disconnect the client
|
||||||
- Emit on_disconnected event handler for clients
|
- Emit on_disconnected event handler for clients
|
||||||
"""
|
"""
|
||||||
|
# Cancel the message processing task
|
||||||
|
if self._stt_msg_task:
|
||||||
|
await self.cancel_task(self._stt_msg_task)
|
||||||
|
self._stt_msg_task = None
|
||||||
|
|
||||||
# Disconnect the client
|
# Disconnect the client
|
||||||
logger.debug(f"{self} disconnecting from Speechmatics STT service")
|
logger.debug(f"{self} disconnecting from Speechmatics STT service")
|
||||||
try:
|
try:
|
||||||
|
|||||||
Reference in New Issue
Block a user