2015-11-05 152 views
3

我想對我的elgir的postgres數據庫做一個簡單的健康檢查。Elixir的Postgres健康檢查

在鐵軌我會做這樣的事情:ActiveRecord::Base.verify_active_connections

有什麼仙丹上相似?

+0

我想也許你誤解了藥劑的成語。如果出於某種原因無法訪問數據庫,您希望代碼崩潰 - 大而直接,因此您需要檢查數據庫。如果你不想讓代碼崩潰,那麼建立一個主管並讓它處理數據庫故障。無論哪種方式,它都不是Elixir方式(或者真正的Erlang方式)在數據庫上運行「簡單運行狀況檢查」。 –

+0

明白了,謝謝你的提示 – Gary

回答

3

這是我找到的最好的。

status = try do 
    Ecto.Adapters.SQL.query(ProjectName.Repo, "select 1", []) 
    :ok 
rescue 
    DBConnection.ConnectionError -> :error 
end 

它只是發送select 1請求到SQL Server,如果我們得到了一個出口,我們返回:error否則我們返回:ok