See if this helps:

https://docs.sqlalchemy.org/en/20/orm/session_basics.html#session-faq-whentocreate

and

https://docs.sqlalchemy.org/en/20/orm/contextual.html

Session should be closed correctly etc.

On Fri, Apr 28, 2023, 10:18 PM Erabil Erabil <erabils...@gmail.com> 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/CAPy-swM-_SW1drnwFyV0N1icUFGkAZOh60XaSPH_9D9Kc7iGLg%40mail.gmail.com.

Reply via email to