Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 将JRuby和MRI用于通用应用程序_Ruby On Rails_Ruby_Rake_Jruby_Bundle - Fatal编程技术网

Ruby on rails 将JRuby和MRI用于通用应用程序

Ruby on rails 将JRuby和MRI用于通用应用程序,ruby-on-rails,ruby,rake,jruby,bundle,Ruby On Rails,Ruby,Rake,Jruby,Bundle,我的rails应用程序需要同时使用JRuby和MRI 下面是一个场景- 我的应用程序使用一个后台服务器来处理大量线程。我正在表演 在MRI上运行它的问题。后台服务器由rake任务启动,需要 使用Rails环境 我正在使用Passenger作为Web服务器。由于JRuby对乘客的支持是最近才出现的, 我想使用核磁共振成像 这是我想要的东西- 这将使用Ruby 1.9启动服务器: sudo乘客启动-p80-e生产--user=deploy 在同一个应用程序中,它运行后台服务器- jruby-S ra

我的rails应用程序需要同时使用JRuby和MRI

下面是一个场景-

我的应用程序使用一个后台服务器来处理大量线程。我正在表演 在MRI上运行它的问题。后台服务器由
rake
任务启动,需要 使用Rails环境

我正在使用Passenger作为Web服务器。由于JRuby对乘客的支持是最近才出现的, 我想使用核磁共振成像

这是我想要的东西-

这将使用Ruby 1.9启动服务器:

sudo乘客启动-p80-e生产--user=deploy

在同一个应用程序中,它运行后台服务器-

jruby-S rake后台服务器:启动守护程序RAILS\u ENV=production

问题是,第二个命令
jruby-srake
要求重新处理应用程序


有什么方法可以把它安装到位吗?

不在同一个应用程序中。如果您想实现这一点,您需要在不同的rubies下运行不同的应用程序。在SOA体系结构中,您将向后台服务器发送一条消息,以便它处理作业

因此,在heroku中,您将为运行在MRI中的web创建一个应用程序;然后在JRuby中为后台进程创建一个应用程序。他们将通过共享Redis或共享数据库进行通信

我建议使用特立尼达或彪马,并将其全部保存在JRuby中(而不是保持运行);这将是一个更简单的架构