Reputation: 54949
Is there a way to ping a URL every 30 seconds using Ruby script?
require 'net/http'
http = Net::HTTP.new('www.google.com',80)
response = http.request_get('/')
p response.status
Upvotes: 1
Views: 1162
Reputation: 106882
Depending on your use case a simple loop
with a sleep
might to the job:
require 'net/http'
loop do
http = Net::HTTP.new('www.google.com')
response = http.request_get('/')
p response.code
sleep 30
end
Upvotes: 5
Reputation: 54223
This code pings every 30 sec, as long as the ping duration is less than 30 sec.
require 'net/http'
time_step = 30 #s
loop do
start = Time.now
http = Net::HTTP.new('www.google.com',80)
response = http.request_get('/')
p response.code # -> "302"
duration = Time.now-start
sleep (time_step - duration) unless duration > time_step
end
Upvotes: 3