From: Sarah Hoffmann Date: Mon, 12 Jul 2021 12:58:44 +0000 (+0200) Subject: factor out connection reset code X-Git-Tag: v4.0.0~52^2 X-Git-Url: https://git.openstreetmap.org./nominatim.git/commitdiff_plain/f8b5a63de39691ea6e7fcb9180a856f0d2650999 factor out connection reset code --- diff --git a/nominatim/db/async_connection.py b/nominatim/db/async_connection.py index a55612c8..f06f3159 100644 --- a/nominatim/db/async_connection.py +++ b/nominatim/db/async_connection.py @@ -33,7 +33,7 @@ class DeadlockHandler: self.ignore_sql_errors = ignore_sql_errors def __enter__(self): - pass + return self def __exit__(self, exc_type, exc_value, traceback): if __has_psycopg2_errors__: @@ -190,10 +190,7 @@ class WorkerPool: yield thread if command_stat > self.REOPEN_CONNECTIONS_AFTER: - for thread in self.threads: - while not thread.is_done(): - thread.wait() - thread.connect() + self._reconnect_threads() ready = self.threads command_stat = 0 else: @@ -202,6 +199,13 @@ class WorkerPool: self.wait_time += time.time() - tstart + def _reconnect_threads(self): + for thread in self.threads: + while not thread.is_done(): + thread.wait() + thread.connect() + + def __enter__(self): return self