De fout:psycopg2.operationalerror: SSL SYSCALL error: EOF detected
De opstelling:Luchtstroom + Roodverschuiving + psycopg2
Wanneer:zoekopdrachten duren lang tijd om uit te voeren (meer dan 300 seconden).
In dit geval treedt er een socket-time-out op. Wat deze specifieke variant van de fout oplost, is het toevoegen van keepalive-argumenten aan de verbindingsreeks.
keepalive_kwargs = {
"keepalives": 1,
"keepalives_idle": 30,
"keepalives_interval": 5,
"keepalives_count": 5,
}
conection = psycopg2.connect(connection_string, **keepalive_kwargs)
Roodverschuiving vereist een keepalives_idle
van minder dan 300. Een waarde van 30 werkte voor mij, uw kilometerstand kan variëren. Het is ook mogelijk dat de keepalives_idle
argument is het enige dat u hoeft in te stellen - maar zorg ervoor dat keepalives
is ingesteld op 1.
Link naar documenten op postgres keepalives.
Link naar luchtstroomdocument met advies over 300 time-out.