Description
The SingletonThreadPool
should not be used as a default connection pool, as its recommended for testing purposes only by the SQLALchemy 1.4 Docs:
the SingletonThreadPool will call .close() on arbitrary connections that exist beyond the size setting of pool_size, e.g. if more unique thread identities than what pool_size states are used. This cleanup is non-deterministic and not sensitive to whether or not the connections linked to those thread identities are currently in use.
SingletonThreadPool may be improved in a future release, however in its current status it is generally used only for test scenarios using a SQLite :memory: database and is not recommended for production use.
The SingletonThreadPool
can lead to unreliable connections, when being used in an asynchronous application.