factor out connection reset code

This commit is contained in:
Sarah Hoffmann
2021-07-12 14:58:44 +02:00
parent 568316f07c
commit f8b5a63de3

View File

@@ -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