When not reusing instances of TranscribeStreamingClient (to avoid issues #76 and #77) this causes multiple event loop threads (that can't be stopped until the process shuts down) to be created, potentially leading to thread exhaustion and/or unnecessarily high number of threads essentially blocked in epoll_wait on different epoll file descriptors.
https://github.com/awslabs/amazon-transcribe-streaming-sdk/blob/95349afd317b83b06b0c3dadc3a51720595bf876/amazon_transcribe/client.py#L63
In turn,
AWSCRTEventLoop
creates a newEventLoopGroup
with one new thread each time it is instanced.https://github.com/awslabs/amazon-transcribe-streaming-sdk/blob/95349afd317b83b06b0c3dadc3a51720595bf876/amazon_transcribe/__init__.py#L20-L30
When not reusing instances of
TranscribeStreamingClient
(to avoid issues #76 and #77) this causes multiple event loop threads (that can't be stopped until the process shuts down) to be created, potentially leading to thread exhaustion and/or unnecessarily high number of threads essentially blocked inepoll_wait
on different epoll file descriptors.