3

Windows 7,Rails 3 在这里。我是本地/开发模式,rails server不会同时处理多个请求。进程崩溃,cmd提示符出现在前面。

我在以下情况下注意到了这种行为:

  • 有太多的ajax请求,彼此太近
  • 在 2 个浏览器上加载一个简单的页面

有没有办法解决这个问题?更改本地服务器(默认为 webrick)?那是怎么做的?

谢谢。

4

2 回答 2

7

我不知道这是否仍然需要答案,但我通过添加gem 'puma'到 Gemfile 来做到这一点,然后您需要添加config.threadsafe!config/application.rb您正在运行的文件或环境文件(例如config/environments/development.rb.

有时你可能不想要线程安全,所以我在我的development.rb

if ENV["THREADS"]
  config.threadsafe!
end

现在(用我在我的 中所做的development.rb)我可以做rails s Puma,它最多可以运行 16 个线程,并且可以处理多个请求。您还可以使用 Puma 建立线程池并配置更多,文档在这里

更新

请注意,config.threadsafe!在 Rails 4+ 中不需要使用,我相信它已被弃用。

于 2012-08-24T18:02:22.483 回答
0

您需要安装 mongrel gem 并指定您在使用时要使用的服务器rails s

我不知道你们在win系统上是如何做到的。为什么不运行一个虚拟的 Unix 机器?Rails 不是更容易吗?所以对于 Unix,它会是这样的:

安装杂种宝石:

gem install mongrel

然后指定要运行的服务器:

rails server mongrel
于 2011-04-22T17:32:03.530 回答