2
我使用Docker運行我的Ruby應用程序,並將MySQL作爲數據庫。我需要爲我的Ruby應用程序等待MySQL完成加載並建立連接。Ruby:捕獲續集:: DatabaseConnectionError
我用下面的代碼:
def connect_to_db
begin
puts "Trying to connect to Mysql"
Sequel::Model.db = Sequel.connect(// Connection stuff in here)
rescue Sequel::Error => e
puts "Mysql connection failed #{e.message}: Retrying."
retry
end
end
connect_to_db()
這將運行一次,然後我得到一個錯誤 - Sequel::DatabaseConnectionError: Mysql2::Error: Unknown MySQL server host (25)
- 它不會進入rescue
塊不會重試。
我試過rescue Sequel::DatabaseConnectionError
但是這給出了相同的結果。
我需要在這裏拯救什麼?
這不工作的原因是,續集不連接,直到它需要運行一個查詢,你是不是嘗試運行內部查詢connect_to_db方法。 –