防止带有Puma / IIS的Rails应用程序上的jRuby在一段时间后入睡

时间:2016-02-03 16:25:03

标签: ruby-on-rails iis jruby puma jrubyonrails

我们正在使用jRuby 1.7.20.1,puma和IIS 8+在Windows Server 2012上运行应用程序。

jRuby上的启动时间有点长,这很好,因为只要接收到请求,app就会很快运行。问题是,如果应用程序没有收到请求的时间过长,jRuby似乎就睡着了,下一个请求必须再次经历整个启动过程。

我尝试将.jrubyrc添加到应用程序的根目录,以便jRuby将活动线程池min设置为1(默认为0)。但这似乎没有做任何事情。

我们正在考虑的最后一个解决方案是添加一个脚本,它只是在一个时间间隔内发送一个小请求来阻止它,但这看起来很明显,我确信有一些方法可以配置jRuby来保持它活跃。

1 个答案:

答案 0 :(得分:2)

这实际上是一个需要在IIS中为运行我们的应用程序的ApplicationPool更改的设置。

在AppPool>下高级设置>空闲超时

我们必须将设置从终止更改为暂停。现在工作正常。