Fehlende Datenbankverbindung in Active automatisch handhaben?
-
06-07-2019 - |
Frage
Mit der Einführung von Amazon Relational Database Service heute und ihr ‚erzwungen‘ Wartungsfenster Ich fragte mich, wenn jemand irgendwelche Lösungen für eine fehlende Datenbankverbindung in Rails Handhabung.
Im Idealfall würde Ich mag Lage sein, automatisch eine Wartungsseite zu Besuchern präsentieren, wenn die Datenbankverbindung verschwindet (das heißt Amazon ihre Wartung tun?) - hat jemand jemals etwas getan
Prost Arfon
Lösung
Sie können dies mit einer Rack-Middleware:
class RescueFromNoDB < Struct.new(:app)
def call(env)
app.call(env)
rescue Mysql::Error => e
if e.message =~ /Can't connect to/
[500, {"Content-Type" => "text/plain"}, ["Can't get to the DB server right now."]]
else
raise
end
end
end
Natürlich können Sie die Fehlermeldung anpassen, und die e.message =~ /Can't connect to/
Bit nur Paranoia sein können, fast alle anderen SQL-Fehler sollten in ActionController::Dispatcher
gefangen werden.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow