2017-08-06 8 views
0

手動で上/下のWebapp /サーバーをチェックして問題を解決したいと思っています。私はこの作業を自動化できるレールアプリを作りたいと思っています。サーバーのステータスを確認するためのRailsアプリケーション

私のアプリのURLは考えてみましょう:ホスト名:?PORT /ルートのparams

私がチェック 'ネット/ HTTP'

def check_status() 
     @url='host' 
     uri = URI(@url) 
     http = Net::HTTP.new(@url,port) 
     response = http.request_get('/<route>?<params>') 
     if response == Net::HTTPSuccess 
     @result='Running' 
     else 
     @result='Not Running' 
     end 
    end 

私が直面しています(またはURLにポートがあってもなくてもよいです)

response = http.request_get('/<route>?<params>') 

、でエラーアプリがダウン正しい「URLへのTCP接続を開くことができませんでした」投げています。

新しい解決策を見つける手助けができますか?または上記の実装を改善するにはどうすればよいですか?

答えて

1

意図したとおりに機能しているため、アプリケーションがダウンしたときに返されるエラーを処理するだけでレスキューブロックにラップできます。

def check_status() 
     @url='host' 
     uri = URI(@url) 
     http = Net::HTTP.new(@url,port) 
     begin 
     response = http.request_get('/<route>?<params>') 
     rescue TheClassNameOfThisErrorWhenSiteIsDown 
      @result = 'Not Running' 
     end 
     if response == Net::HTTPSuccess 
      @result='Running' 
     else 
      @result='Not Running' 
     end 
     end 
    end 
+1

こんにちは、ありがとうございます。私はレスキューブロックを利用し、いくつかの微調整を行った。今はうまくいきます。 – mRbOneS

関連する問題