In addition to the previous email, what I do is the following: When request comes in: self.mysql_engine = create_engine('mysql+mysqldb://{}:{}@{}/{}'.format(self.db_params['dbuser'], self.db_params['dbpass'], self.db_params['db_hosts'][db_host_index], self.db_params['dbname']), pool_recycle=3600, connect_args={'connect_timeout': 2})
And then when need to interact with the dB: connection = self.mysql_engine.connect() connection.execute("raw query") connection.close() Best Regards, Josip On Friday, July 14, 2017 at 11:36:26 PM UTC+2, josip povreslo wrote: > > Hello, > > As mentioned in the subject, we have the following packages installed: > > - Python 3.5 > - mysql-connector==2.1.6 > - > - SQLAlchemy==1.1.11 > > Our service is working until we get a bit more traffic (40 - 50 req/min), > although I'm still not 100% if it's a pattern, however, then we get this > error: > > Traceback (most recent call last): > File "/usr/local/lib64/python3.5/site-packages/sqlalchemy/pool.py", line > 1122, in _do_get > return self._pool.get(wait, self._timeout) > File > "/usr/local/lib64/python3.5/site-packages/sqlalchemy/util/queue.py", line > 145, in get > raise Empty > *sqlalchemy.util.queue.Empty* > During handling of the above exception, another exception occurred: > Traceback (most recent call last): > File > "/usr/local/lib64/python3.5/site-packages/sqlalchemy/engine/base.py", line > 2147, in _wrap_pool_connect > return fn() > File "/usr/local/lib64/python3.5/site-packages/sqlalchemy/pool.py", line > 328, in unique_connection > return _ConnectionFairy._checkout(self) > File "/usr/local/lib64/python3.5/site-packages/sqlalchemy/pool.py", line > 766, in _checkout > fairy = _ConnectionRecord.checkout(pool) > File "/usr/local/lib64/python3.5/site-packages/sqlalchemy/pool.py", line > 516, in checkout > rec = pool._do_get() > File "/usr/local/lib64/python3.5/site-packages/sqlalchemy/pool.py", line > 1138, in _do_get > self._dec_overflow() > File > "/usr/local/lib64/python3.5/site-packages/sqlalchemy/util/langhelpers.py", > line 66, in __exit__ > compat.reraise(exc_type, exc_value, exc_tb) > File > "/usr/local/lib64/python3.5/site-packages/sqlalchemy/util/compat.py", line > 187, in reraise > raise value > File "/usr/local/lib64/python3.5/site-packages/sqlalchemy/pool.py", line > 1135, in _do_get > return self._create_connection() > File "/usr/local/lib64/python3.5/site-packages/sqlalchemy/pool.py", line > 333, in _create_connection > return _ConnectionRecord(self) > File "/usr/local/lib64/python3.5/site-packages/sqlalchemy/pool.py", line > 461, in __init__ > self.__connect(first_connect_check=True) > File "/usr/local/lib64/python3.5/site-packages/sqlalchemy/pool.py", line > 651, in __connect > connection = pool._invoke_creator(self) > File > "/usr/local/lib64/python3.5/site-packages/sqlalchemy/engine/strategies.py", > line 105, in connect > return dialect.connect(*cargs, **cparams) > File > "/usr/local/lib64/python3.5/site-packages/sqlalchemy/engine/default.py", > line 393, in connect > return self.dbapi.connect(*cargs, **cparams) > File "/usr/local/lib64/python3.5/site-packages/MySQLdb/__init__.py", > line 81, in Connect > return Connection(*args, **kwargs) > File "/usr/local/lib64/python3.5/site-packages/MySQLdb/connections.py", > line 191, in __init__ > super(Connection, self).__init__(*args, **kwargs2) > _mysql_exceptions.OperationalError: (2003, "Can't connect to MySQL server > on 'dbhost_obviously' (4)") > > We haven't been seeing this error up until recently when we ported our > service to Python 3.5. I've read most of the articles related to this *queue > empty *error and most of those are from '12 or '13 and mentioning > immature mysql drivers. Is this still the case, should we search for an > alternative to mysql-connector or alternative to something else? Any help > or guidance is appreciated! > > Thanks! > > Best, > Josip > -- 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 post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at https://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.