Fix wsrelay hanging after db outage

TCP keepalive settings was moved out from settings.DATABASE to settings.LISTENER_DATABASES and it's not longer being respected by wsrelay
This commit is contained in:
Hao Liu 2024-03-14 15:09:12 -04:00 committed by Chris Meyers
parent 615f09226f
commit 949e7efab1

View File

@ -302,7 +302,14 @@ class WebSocketRelayManager(object):
self.stats_mgr.start()
# Set up a pg_notify consumer for allowing web nodes to "provision" and "deprovision" themselves gracefully.
database_conf = settings.DATABASES['default']
database_conf = settings.DATABASES['default'].copy()
database_conf['OPTIONS'] = database_conf.get('OPTIONS', {}).copy()
for k, v in settings.LISTENER_DATABASES.get('default', {}).items():
database_conf[k] = v
for k, v in settings.LISTENER_DATABASES.get('default', {}).get('OPTIONS', {}).items():
database_conf['OPTIONS'][k] = v
async_conn = await psycopg.AsyncConnection.connect(
dbname=database_conf['NAME'],
host=database_conf['HOST'],