are you making sure you create only one global OrmEngine object for the whole application?
SQLA docs recommend engines are global On Fri, Apr 28, 2023, at 12:48 PM, Erabil Erabil wrote: > When using SQL Alchemy in a Flask application, if the application > continuously sends queries to the database, it exceeds the maximum number of > connections in the connection pool. How can I solve this issue? > > *sqlalchemy_engine.py* > > ** > > import os > from sqlalchemy import create_engine > from sqlalchemy.orm import sessionmaker > from sqlalchemy.pool import QueuePool > > > class OrmEngine: > def __init__(self): > self.engine = create_engine(os.getenv('DATABASE_URL'), > poolclass=QueuePool, > pool_size=5, > max_overflow=3 > ) > self.session = sessionmaker(bind=self.engine) > *Example query* > > with self.orm_engine.session() as session: > user_repository = UserRepository(session) > * user = user_repository.find_by_email(login_request.email)** * > > *My connection list* > > ** > > MariaDB [(none)]> SHOW PROCESSLIST; > +-----+-------------+-----------------+------+---------+------+--------------------------+------------------+----------+ > | Id | User | Host | db | Command | Time | State > | Info | Progress | > +-----+-------------+-----------------+------+---------+------+--------------------------+------------------+----------+ > | 2 | system user | | NULL | Daemon | NULL | InnoDB purge > worker | NULL | 0.000 | > | 1 | system user | | NULL | Daemon | NULL | InnoDB purge > coordinator | NULL | 0.000 | > | 3 | system user | | NULL | Daemon | NULL | InnoDB purge > worker | NULL | 0.000 | > | 4 | system user | | NULL | Daemon | NULL | InnoDB purge > worker | NULL | 0.000 | > | 5 | system user | | NULL | Daemon | NULL | InnoDB > shutdown handler | NULL | 0.000 | > | 8 | root | localhost:56603 | NULL | Query | 0 | Init > | SHOW PROCESSLIST | 0.000 | > | 645 | root | localhost:64281 | tbot | Sleep | 74 | > | NULL | 0.000 | > | 662 | root | localhost:64334 | tbot | Sleep | 56 | > | NULL | 0.000 | > | 684 | root | localhost:64400 | tbot | Sleep | 33 | > | NULL | 0.000 | > | 705 | root | localhost:64476 | tbot | Sleep | 16 | > | NULL | 0.000 | > | 707 | root | localhost:64482 | tbot | Sleep | 14 | > | NULL | 0.000 | > | 709 | root | localhost:64488 | tbot | Sleep | 13 | > | NULL | 0.000 | > | 711 | root | localhost:64494 | tbot | Sleep | 12 | > | NULL | 0.000 | > | 713 | root | localhost:64500 | tbot | Sleep | 10 | > | NULL | 0.000 | > | 715 | root | localhost:64506 | tbot | Sleep | 9 | > | NULL | 0.000 | > | 717 | root | localhost:64512 | tbot | Sleep | 8 | > | NULL | 0.000 | > | 719 | root | localhost:64518 | tbot | Sleep | 7 | > | NULL | 0.000 | > | 720 | root | localhost:64521 | tbot | Sleep | 4 | > | NULL | 0.000 | > | 722 | root | localhost:64527 | tbot | Sleep | 3 | > | NULL | 0.000 | > | 724 | root | localhost:64533 | tbot | Sleep | 2 | > | NULL | 0.000 | > | 726 | root | localhost:64539 | tbot | Sleep | 1 | > | NULL | 0.000 | > +-----+-------------+-----------------+------+---------+------+--------------------------+------------------+----------+ > 21 rows in set (0.000 sec) > > > -- > SQLAlchemy - > The Python SQL Toolkit and Object Relational Mapper > > http://www.sqlalchemy.org/ > > To post example code, please provide an MCVE: Minimal, Complete, and > Verifiable Example. See http://stackoverflow.com/help/mcve for a full > description. > --- > You received this message because you are subscribed to the Google Groups > "sqlalchemy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sqlalchemy+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sqlalchemy/9985cbfa-f4ff-49ed-b777-356cf42c65ebn%40googlegroups.com > > <https://groups.google.com/d/msgid/sqlalchemy/9985cbfa-f4ff-49ed-b777-356cf42c65ebn%40googlegroups.com?utm_medium=email&utm_source=footer>. -- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper http://www.sqlalchemy.org/ To post example code, please provide an MCVE: Minimal, Complete, and Verifiable Example. See http://stackoverflow.com/help/mcve for a full description. --- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sqlalchemy/c4066783-571e-436c-b705-d90989be97f9%40app.fastmail.com.