2017-07-25 11 views
3

我的,有时互相交谈多项目的工作,我已经运行到哪里应用如何在开发中运行Rails多线程?

  1. A调用B(request 1,仍在运行)
  2. B调用A(request 2
  3. 问题
  4. 基于request 2的结果,B响应请求1

这需要我在开发模式多线程运行的轨道。

我知道我可以使用PUMA或类似的东西,但设置它......是不是真的有一个简单的方法?

我想避免在项目进行任何更改(添加宝石,配置文件..)。

类似rails s --multi会很好,不能webrick只是运行多个线程或产生更多的进程?

我是不是可以安装独立的宝石做什么,我需要和运行类似thin run . -p 3

回答

0

你可以配置你的应用程序是多线程的取消注释从production.rb以下行:

# config.threadsafe!

如果运行RAILS_ENV=production bundle exec rails server你会在生产模式与多启动穿线。但是,如果您部署到生产服务器,您可能不得不以任何方式穿越Puma桥。要解决这个

+0

注意我正在问开发而不是生产。生产已经由passanger照顾。其开发模式,我需要使用多个进程/线程。 – hakunin

+0

我很清楚。不过,您仍然可以在计算机上将RAILS_ENV变量设置为生产,以便在生产模式下运行它。我一直这样做。 –

2

一种方法是使用POW,它默认使用两个工人。

的好处是,我没有修改的项目文件,所以它满足我的要求去做。

0

我目前的解决方案,这就是超缺憾,就是用Foreman和Procfile在不同端口上运行我的应用程序的两个副本。您必须配置您的B服务才能向辅助端口发出请求。

相关问题