From 46975998e23c77836d2a130b79ec9a36704be931 Mon Sep 17 00:00:00 2001 From: Untone Date: Thu, 19 Aug 2021 07:48:25 +0300 Subject: [PATCH] no retry --- orm/_retry.py | 34 ---------------------------------- orm/base.py | 1 - 2 files changed, 35 deletions(-) delete mode 100644 orm/_retry.py diff --git a/orm/_retry.py b/orm/_retry.py deleted file mode 100644 index 7f530ea8..00000000 --- a/orm/_retry.py +++ /dev/null @@ -1,34 +0,0 @@ -from sqlalchemy.exc import OperationalError, StatementError -from sqlalchemy.orm.query import Query as _Query -from time import sleep - -class RetryingQuery(_Query): - __max_retry_count__ = 3 - - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - - def __iter__(self): - attempts = 0 - while True: - attempts += 1 - try: - return super().__iter__() - except OperationalError as ex: - if "server closed the connection unexpectedly" not in str(ex): - raise - if attempts <= self.__max_retry_count__: - sleep_for = 2 ** (attempts - 1) - logging.error( - "/!\ Database connection error: retrying Strategy => sleeping for {}s" - " and will retry (attempt #{} of {}) \n Detailed query impacted: {}".format( - sleep_for, attempts, self.__max_retry_count__, ex) - ) - sleep(sleep_for) - continue - else: - raise - except StatementError as ex: - if "reconnect until invalid transaction is rolled back" not in str(ex): - raise - self.session.rollback() \ No newline at end of file diff --git a/orm/base.py b/orm/base.py index b8a8d8de..6ae1db7d 100644 --- a/orm/base.py +++ b/orm/base.py @@ -6,7 +6,6 @@ from sqlalchemy.orm import Session from sqlalchemy.sql.schema import Table from settings import DB_URL -from orm._retry import RetryingQuery # engine = create_engine(DB_URL, convert_unicode=True, echo=False) engine = create_engine(DB_URL,