Ruby on rails 用于检查服务器状态的Rails应用程序
我想解决一个问题,我们手动去检查一个webapp/服务器是否正常。我想构建一个rails应用程序来自动完成这项任务 假设我的应用程序url为:主机名:端口/路由?参数(url中可能有端口,也可能没有端口) 我选中了“net/http”Ruby on rails 用于检查服务器状态的Rails应用程序,ruby-on-rails,http,weblogic,net-http,Ruby On Rails,Http,Weblogic,Net Http,我想解决一个问题,我们手动去检查一个webapp/服务器是否正常。我想构建一个rails应用程序来自动完成这项任务 假设我的应用程序url为:主机名:端口/路由?参数(url中可能有端口,也可能没有端口) 我选中了“net/http” def check_status() @url='host' uri = URI(@url) http = Net::HTTP.new(@url,port) response = http.request_get('
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
def check_status()
@url='host'
uri=uri(@url)
http=Net::http.new(@url,port)
response=http.request_get(“/?”)
如果响应==Net::HTTPSuccess
@结果='Running'
其他的
@结果=“未运行”
终止
终止
我面临着错误
response = http.request_get('/<route>?<params>')
response=http.request\u get(“/?”)
当应用程序向下抛出“无法打开到URL的TCP连接”,这是正确的
你们能帮我找到一些新的解决方案吗?或者我该如何改进上述实现?由于它按预期工作,您只需要处理应用程序关闭时返回的错误,请将其包装在救援块中
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
def check_status()
@url='host'
uri=uri(@url)
http=Net::http.new(@url,port)
开始
response=http.request_get(“/?”)
在下山时营救他们的类名
@结果='未运行'
终止
如果响应==Net::HTTPSuccess
@结果='Running'
其他的
@结果=“未运行”
终止
终止
终止
刚刚遇到了这个老问题。HTTP方法get
和head
不会引发异常。因此,请使用其中一个
def up?(site)
Net::HTTP.new(site).head('/').kind_of? Net::HTTPOK
end
up? 'www.google.com' #=> true
嗨,谢谢你的信息。我使用了救援块,做了一些调整。现在工作正常了。