如何从Ruby ping在本地运行的另一个应用

时间:2018-07-13 21:26:38

标签: ruby-on-rails ruby ping

我想从也在本地运行的Rails应用程序检查Flask应用程序是否在本地运行。

Flask应用程序始于

gunicorn --bind 0.0.0.0:5000 wsgi:application -w 1

因此

Listening at: http://0.0.0.0:5000

我如何ping通它以查看其是否在运行?

我在下面尝试使用net / ping gem失败了。

check = Net::Ping::External.new('http://0.0.0.0:5000')
check.ping?

1 个答案:

答案 0 :(得分:2)

您要使用的是Net::Ping::HTTPExternal类用于ICMP主机ping(仅检查主机是否启动,而不检查该主机上的服务)。

检查HTTP服务器是否已使用HTTP协议启动:

check = Net::Ping::HTTP.new('http://localhost:5000')
check.ping?

如果您想将超时调整为2秒(默认值为5秒):

check = Net::Ping::HTTP.new('http://localhost:5000', nil, 2)
check.ping?