避免在rails 3上的递归Web调用中出现死锁

时间:2014-10-14 11:52:13

标签: ruby-on-rails ruby ruby-on-rails-3 webserver

假设我已经在某些控制器的rails中发送了一个get请求。

并且在该操作中我发送请求以从另一个服务器获取网页。 例如:

open("http://example.com/myexample.xml")

当我使用localhost作为参数调用此函数时,站点请求它自己,以便服务器进入死锁状态并停止

获取localhost页面而不在主线程上排队请求的任何想法?

当主线程休眠或忙于处理请求而另一个请求到达服务器时,会发生同样的问题......它会一直等到第一个请求完成。

任何解决方案?

1 个答案:

答案 0 :(得分:1)

您可以运行另一个服务器实例:

rails s          # http://localhost:3000
rails s -p 3001  # http://localhost:3001

然后你可以从localhost:3001发送请求到localhost:3000或相反。

我更喜欢使用unicorn作为第二台服务器

rails s          # http://localhost:3000
unicorn          # http://localhost:8080