Rails 再次请求同一域名下不同接口遇到的问题,寻求帮助

wdrsam · October 26, 2017 · Last by dddd1919 replied at October 26, 2017 · 1186 hits

rails4.2, ruby2.2.0 在控制器中,请求过来后,将生成一些参数,再访问一次本域名下的其他接口。 例:a 请求 www.xxx.com/api/test, 生成一些参数,用 mechanize 把请求包装好(请求部分代码确定没错),访问 www.xxx.com/api/test1

这时会卡顿个 1 分钟,报下面的错

Net::ReadTimeout - Net::ReadTimeout:
  /Users/qianfandu/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/protocol.rb:158:in `rescue in rbuf_fill'
...
...

奇怪的是,在报错完后,a 请求最终触发 api/test1 里设置的断点,也就是最终请求成功了。但为什么会卡顿这么久,是跟某些安全机制有关吗?有没有什么办法可以避免...

controller 里请求应用的另一个接口? 如果是的话,开发环境启动的服务只能同时处理一个请求,你在请求里发起第二次请求直接挂起,然后只能超时,接下来服务再处理第二个请求

Reply to dddd1919

是的,在 controller 请求另一个接口。有什么好办法或思路吗。。?

为何同一个应用的调用要走接口?不能抽成一个方法来共用?

Reply to wdrsam

同楼下,定一个公共 services 就够了,自己调用自己不是很别扭么

You need to Sign in before reply, if you don't have an account, please Sign up first.