Rails HTTParty获取超时::错误

时间:2012-12-22 15:45:05

标签: ruby-on-rails httparty

我有一个以API为中心的应用程序(/ api / v1 / users),它只是简单地以JSON格式返回所有用户。

我的问题是,如果我在控制器上调用该路由,它将返回“Timeout :: Error” 有什么问题?

class BaseController < ApplicationController
  def index
    return HTTParty.get('http://localhost:3000/api/v1/users').body
  end
end

更新

  • users_controller.rb(/ api / v1 / users)
  • application_controller.rb

https://gist.github.com/4359591

日志

http://pastie.org/5565618

1 个答案:

答案 0 :(得分:3)

如果我理解正确,您有一个API终结点/api/v1/users,并且您的BaseController#index正在调用该方法?

如果这是正确的,在同一个rails进程中,并且您正在开发模式下进行测试(我可以从您的url中进行测试),那么您只能运行一个进程,它只能同时处理一个请求。因此,如果您向BaseController#index发起请求,它将向您自己的测试服务器发起另一个请求,该服务器正忙,并且它将等待它超时。

如果您想测试您的API,我会查看一个客户端工具,例如Postman

HTH。