Aplicación POSTGRESQL y Django: no se pudieron recibir datos del cliente: conexión restablecida por parte del par

Aplicación POSTGRESQL y Django: no se pudieron recibir datos del cliente: conexión restablecida por parte del par

Estoy ejecutando una aplicación Django con postgresql, nginx y gunicorn. Tengo una secuencia de comandos donde los datos se extraen de una tabla en la base de datos, se modifican y luego deben reemplazar los datos existentes en esa tabla. En el mismo script, también se actualizan algunas tablas.

Al ejecutar el script, siempre ocurre 502 Bad Gatewayque el servidor agota el tiempo de espera debido a algo en el script. Siendo el tema bastante nuevo, me cuesta descubrir qué sucede con el siguiente error.

Solo tengo el siguiente registro para trabajar desde postgres:

2020-08-22 14:57:59 UTC::@:[8228]:LOG: checkpoint starting: time
2020-08-22 14:57:59 UTC::@:[8228]:LOG: checkpoint complete: wrote 1 buffers (0.0%); 0 WAL file(s) added, 0 removed, 1 recycled; write=0.101 s, sync=0.005 s, total=0.132 s; sync files=1, longest=0.005 s, average=0.005 s; distance=65536 kB, estimate=70182 kB
2020-08-22 14:58:50 UTC:address-ip(45726):pierre@dbexostock:[25618]:LOG: could not receive data from client: Connection reset by peer
2020-08-22 14:58:50 UTC:address-ip(45724):pierre@dbexostock:[25617]:LOG: could not receive data from client: Connection reset by peer

Creo que el problema está dentro de las conexiones a la base de datos en el script:

#connect to db
engine = create_engine('postgresql+psycopg2://user:[email protected]',
                               connect_args={'options': '-csearch_path={}'.format(dbschema)})

#access the data in the historical_data table 
conn = engine.connect()
metadata = sqlalchemy.MetaData()
histoo = sqlalchemy.Table('uploadfiles_historical_data', metadata, autoload=True, autoload_with=engine)
query = sqlalchemy.select([histoo])
resultproxy = conn.execute(query)
        
        
result_set = resultproxy.fetchall()

#update the historical table 
histo = histo2.head(0).to_sql('uploadfiles_histoo', engine, if_exists='replace')
cur = conn.cursor()
output = io.StringIO()
histo2.to_csv(output, sep='\t', header=False, encoding='utf8')
output.seek(0)
cur.copy_from(output,'uploadfiles_histoo')
conn.commit()

#update other tables (example)
itemmdb = df559.to_sql('dashboard_item', engine, if_exists='replace')

Estoy realmente confundido y he estado golpeándome la cabeza con este problema por un tiempo y nada parece funcionar. Esperando que alguien pueda ver dónde me estoy equivocando.

información relacionada