Project

General

Profile

Actions

Bug #13106

closed

Timeout does not wait for more than 120 seconds

Added by 141984 (Gibu John George) over 7 years ago. Updated almost 5 years ago.

Status:
Rejected
Assignee:
-
Target version:
-
ruby -v:
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux]
[ruby-core:78978]

Description

Hi All,

I have encountered an issue where Timeout does not wait for more than 120 seconds when asked to wait for a greater period.

This is my ruby code, that supposed to wait for 250 seconds to check if an application deployed on tomcat is up or not. As seen in the logs, it exits are 120 seconds.

require 'timeout'
require 'socket'
require 'net/http'

ip = '127.0.0.1'
port = '8080'
url = 'http://127.0.0.1:8080/myApp/isUp'


  def wait_till_port_open(ip, port)
    TCPSocket.new(ip, port).close
    puts "#{port} is open"
    return true
  rescue Errno::ECONNREFUSED, Errno::EHOSTUNREACH, Errno::EADDRNOTAVAIL
    return false
  end

  def wait_till_port_close(ip, port)
    TCPSocket.new(ip, port).close
    puts "#{port} is open"
    return false
  rescue Errno::ECONNREFUSED, Errno::EHOSTUNREACH, Errno::EADDRNOTAVAIL
    return true
  end

  def wait_till_app_up(url)
    resp_code = Net::HTTP.get_response(URI.parse(url.to_s)).code
    if resp_code.eql?('200')
      puts 'Application is up'
      return true
    end
  rescue Errno::ECONNREFUSED, Errno::EHOSTUNREACH
    return false
  end

begin
  Timeout::timeout(250) do
    until wait_till_port_open(ip, port)
    end
  end
rescue Timeout::Error
  abort("Port #{port} not up after 250 seconds")
end
puts Time.now
begin
  Timeout::timeout(250) do
    until wait_till_app_up(url)
    end
  end
rescue Timeout::Error
  puts Time.now
  abort("Application #{url} not up after 250 seconds")
end
8080 is open
2017-01-05 13:58:49 +0530
sec : 250      -> added a puts at https://github.com/ruby/ruby/blob/0d74082eced0254a30b8f09a4d65fff357fdc6cd/lib/timeout.rb#L84 to ensure that value is correctly being passed.
2017-01-05 14:00:50 +0530

Why is this happening? Any fixes for this?

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0