我有一个带有这种配置的Torquebox系统:
version........... 2.2.0
build............. 74
建立:
HornetQ......... 2.2.21.SNAPSHOT (HQ_2_2_21_final, 122)
JBossAS......... 7.1.x.incremental.129
Infinispan...... 5.1.8.Final
Quartz.......... 2.1.5
JRuby........... 1.7.1
有些时候某些请求(通常是GET)会挂起15分钟,但服务器会继续接收请求。
1分钟后,扭矩箱返回超时,但请求仍在服务器中。
当被挂起的请求继续时,所有其他请求也会继续处理导致错误的原因(因为它们返回超时,但仍然继续)!
我可以使用Rack-Timeout解决部分问题,可以将处理时间限制为50秒并终止处理延迟。
你知道如何配置Torquebox或JBoss以避免这种延迟吗?
答案 0 :(得分:0)
这也可以通过请求中的休眠模拟,而不是向服务器发出任何其他请求。
两个请求都给出了超时,但仍保留在服务器池中,以便在休眠时间后执行。
答案 1 :(得分:0)
我在application.rb中配置了一个看似解决方案的参数:
config.allow_concurrency = true
您是否看到使用它的任何问题或限制?
答案 2 :(得分:0)
这个关于allow_concurrency的链接非常好: https://groups.google.com/forum/#!msg/rubyonrails-core/AWgxrpnnIcA/WBiQstLYwe0J