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

War es hilfreich?

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
scroll top