如何创建Rails使用的机架应用程序?

时间:2013-03-13 09:50:17

标签: ruby-on-rails rack

Rails本身基于多个独立进程,这些进程在请求之间是无状态的。我需要在我的Rails应用程序中添加一个有状态的集中服务(游戏自动匹配器)。

从我知道的很少,我应该将有状态的服务作为机架应用程序。是否有一些关于如何制作机架应用程序的教程,以及如何与Rails进行通信。使用Rails部署它的惯用方法是什么,以及将它放在我的git Rails代码库中的惯用位置?

2 个答案:

答案 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您的应用。