diff --git a/src/pipecat/services/deepgram/flux/stt.py b/src/pipecat/services/deepgram/flux/stt.py index a0d45afe4..4c458c7ab 100644 --- a/src/pipecat/services/deepgram/flux/stt.py +++ b/src/pipecat/services/deepgram/flux/stt.py @@ -183,6 +183,14 @@ class DeepgramFluxSTTService(WebsocketSTTService): """ await self._connect_websocket() + # Creating the receiver task (only created once during initial connection) + if not self._receive_task: + self._receive_task = self.create_task(self._receive_task_handler(self._report_error)) + + # Creating the watchdog task (only created once during initial connection) + if not self._watchdog_task: + self._watchdog_task = self.create_task(self._watchdog_task_handler()) + async def _disconnect(self): """Disconnect from WebSocket and clean up tasks. @@ -235,16 +243,6 @@ class DeepgramFluxSTTService(WebsocketSTTService): additional_headers={"Authorization": f"Token {self._api_key}"}, ) - # Creating the receiver task - if not self._receive_task: - self._receive_task = self.create_task( - self._receive_task_handler(self._report_error) - ) - - # Creating the watchdog task - if not self._watchdog_task: - self._watchdog_task = self.create_task(self._watchdog_task_handler()) - # Now wait for the connection established event logger.debug("WebSocket connected, waiting for server confirmation...") await self._connection_established_event.wait()