エラー:psycopg2.operationalerror: SSL SYSCALL error: EOF detected
セットアップ:エアフロー +赤方偏移 + psycopg2
いつ:クエリに長いかかる 実行時間(300秒以上)。
この場合、ソケットタイムアウトが発生します。エラーのこの特定の変形を解決するのは、接続文字列にキープアライブ引数を追加することです。
keepalive_kwargs = {
"keepalives": 1,
"keepalives_idle": 30,
"keepalives_interval": 5,
"keepalives_count": 5,
}
conection = psycopg2.connect(connection_string, **keepalive_kwargs)
Redshiftにはkeepalives_idle
が必要です 300未満の値。30の値が私のために働いた、あなたのマイレージは変わるかもしれません。 keepalives_idle
が 設定する必要があるのは引数だけですが、keepalives
を確認してください 1に設定されています。
postgresキープアライブに関するドキュメントへのリンク。
300タイムアウトについてアドバイスするエアフロードキュメントへのリンク。