Ich habe einen TCP-Server geschrieben, der Pakete von einem Endgerät empfängt. Der TCP-Server interpretiert die Daten und speichert sie in der Datenbank mit Postgres.Ruby TCP-Server - FEHLER: PG :: ConnectionBad: FATAL: verbleibende Verbindungssteckplätze sind reserviert für Nicht-Replikation Superuser-Verbindungen
Der TCP-Server ist multi-threaded. Ein Beispiel des Codes des Moments, in dem ich die Datenbankverbindung öffne und Daten speichere, sieht so aus;
conn = Sequel.connect('postgres://xxxxx:[email protected]:xxxxx/xxxxxxxxx',:max_connections => 100) # requires pg
transactions = conn.from(:transactions)
if transactions.insert(serial_number: card_serial, balance_before: balance_before, amount: transaction_amount, balance_after: balance_after, transaction_time: time, terminal_number: terminal_number, terminal_type: terminal_type, created_at: Time.now, updated_at: Time.now)
response = {message: "TT01000080", status: "SUCCESS" }
return response
else
response = {message: "", status: "FAILED" }
return response
end
Nach ein paar Paketen erzeugt die db einen Fehler wie diesen; ERROR:PG::ConnectionBad: FATAL: remaining connection slots are reserved for non-replication superuser connections
Hinzufügen Auch die Linie conn.disconnect
hat das Problem nicht helfen.
Sie hatten Recht zu trennen nach der Rückkehr Aussage. Vielen Dank – Acacia