Rails本身基于多个独立进程,这些进程在请求之间是无状态的。我需要在我的Rails应用程序中添加一个有状态的集中服务(游戏自动匹配器)。
从我知道的很少,我应该将有状态的服务作为机架应用程序。是否有一些关于如何制作机架应用程序的教程,以及如何与Rails进行通信。使用Rails部署它的惯用方法是什么,以及将它放在我的git Rails代码库中的惯用位置?
答案 0 :(得分:2)
我在另一个问题中回答了我的问题:
How to read POST data in rack request
require 'json'
class Greeter
def call(env)
req = Rack::Request.new(env)
if req.post?
puts req.POST()
end
[200, {"Content-Type" => "application/json"}, [{x:"Hello World!"}.to_json]]
end
end
run Greeter.new
并使用JSON.parse( req.body.read )
来解析POST数据。
答案 1 :(得分:0)
除了机架之外的其他选项是daemonize您的应用。