【问题标题】:Rails development: how to respond to several requests at once?Rails 开发:如何一次响应多个请求?
【发布时间】:2012-04-19 16:33:11
【问题描述】:

我继承了旧版 Web 应用程序的维护工作,并以一种“有趣”的方式来管理对数据库的并发访问。

该应用程序基于 ruby​​-on-rails 2.3.8。

我想建立一个开发环境,并从那里有两个网络浏览器同时发出请求,只是为了了解正在发生的事情的要点。

当然,如果我使用 Webrick,这是行不通的,因为它一次只服务一个 http 请求,所以所有请求都被它有效地序列化。

我以为杂种可以帮助我,但是

mongrel_rails start -n 5

实际上是在生成一个进程,而且它似乎也是单线程的。

设置我的开发环境以使其一次响应多个请求的最简单方法是什么?我想避免使用 apache 和 mod_passenger,因为这是开发,我希望能够更改代码并在下一个请求时自动重新加载。

【问题讨论】:

    标签: ruby-on-rails multithreading mongrel webrick multiprocess


    【解决方案1】:

    在开发模式下,mod_passenger 会重新加载类和视图。我将乘客专门用于开发和部署。

    在生产中,您可以(从 rails 应用程序的根目录):

    touch tmp/restart.txt
    

    乘客将重新加载应用程序。

    【讨论】:

      【解决方案2】:

      【讨论】:

      • 嗯,默认情况下thin 似乎一次只响应一个请求。我尝试使用服务器命令行参数thin --servers 10 但这似乎只是在不同端口上产生了几个瘦侦听实例——但我想为我的应用程序提供一个 url。我错过了什么吗?
      • 您可能必须使用thin --threaded。根据文档,它是Calls the Rack application in threads.
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-04
      • 1970-01-01
      • 2021-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-08
      相关资源
      最近更新 更多