From 5a7ba726c9c6efe5501c25fbbdb5735e79bd4657 Mon Sep 17 00:00:00 2001 From: Omar Roth Date: Thu, 26 Sep 2019 10:25:05 -0400 Subject: [PATCH] Update timeout for uptime monitors --- src/instances.cr | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/instances.cr b/src/instances.cr index 52bd6b8..7a2cf25 100644 --- a/src/instances.cr +++ b/src/instances.cr @@ -34,7 +34,10 @@ spawn do page = 1 loop do begin - response = JSON.parse(HTTP::Client.get(URI.parse("https://uptime.invidio.us/api/getMonitorList/89VnzSKAn?page=#{page}")).body) + client = HTTP::Client.new(URI.parse("https://uptime.invidio.us")) + client.connect_timeout = 10.seconds + client.read_timeout = 10.seconds + response = JSON.parse(client.get("/api/getMonitorList/89VnzSKAn?page=#{page}").body) monitors += response["psp"]["monitors"].as_a page += 1 @@ -46,7 +49,6 @@ spawn do error_message = response.try &.["errorStats"]? error_message ||= ex.message puts "Exception pulling monitors: #{error_message}" - next end end @@ -75,11 +77,11 @@ spawn do end end - monitor = monitors.select { |monitor| monitor["name"].try &.as_s == host }[0]? + monitor = monitors.try &.select { |monitor| monitor["name"].try &.as_s == host }[0]? INSTANCES[host] = {flag: flag, region: region, stats: stats, type: type, uri: uri.to_s, monitor: monitor} end - sleep 1.minute + sleep 5.minutes Fiber.yield end end