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 [email protected].
> 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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/sqlalchemy/c4066783-571e-436c-b705-d90989be97f9%40app.fastmail.com.