无法通过在Rails应用程序中运行Ruby来打开localhost

时间:2014-08-30 02:37:35

标签: ruby-on-rails ruby watir system-calls

我正在尝试使用系统调用在rails应用程序中运行ruby脚本,例如

def runSystemCall
    system("ruby /path/to/ruby/script/watir.rb localhost:3000/articles/14")
end

watir.rb

def watir(url)
    bb = Watir::Browser.new :chrome
    bb.goto "#{url[0]}"
end

watir(ARGV)

在rails应用程序中运行时,浏览器打开并保持状态Waiting for localhost...,直到出现错误

.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/net/protocol.rb:158:in `rescue in rbuf_fill': Net::ReadTimeout (Net::ReadTimeout)

加载了已开通的网站localhost:3000/articles/14。 任何人都知道为什么?

并且,当在终端中运行时

$ ruby /path/to/ruby/script/watir.rb localhost:3000/articles/14

浏览器已打开并打开网站localhost:3000/articles/14 这就是我的预期。

1 个答案:

答案 0 :(得分:1)

您的本地服务器是单线程的。这意味着它一次只能处理一个请求。如果一个本地请求想要从同一本地服务器加载另一个页面,那么至少需要两个本地线程。