Ruby on rails 如何使用eventmachine异步处理ruby post请求

Ruby on rails 如何使用eventmachine异步处理ruby post请求,ruby-on-rails,http,eventmachine,Ruby On Rails,Http,Eventmachine,在rails应用程序中的请求过程中,我希望将数据发布到另一台服务器并完成原始请求,而无需等待外部发布解析。我有下面的代码可以正确地发布,但仍然在继续之前等待发布完成。我尝试移动EventMachine.stop到callback之外,但这只是通过调用errback来结束一切。我该怎么办 EventMachine.run { http = EventMachine::HttpRequest.new(url).post :body => {body} http.errback

在rails应用程序中的请求过程中,我希望将数据发布到另一台服务器并完成原始请求,而无需等待外部发布解析。我有下面的代码可以正确地发布,但仍然在继续之前等待发布完成。我尝试移动
EventMachine.stop
callback
之外,但这只是通过调用
errback
来结束一切。我该怎么办

EventMachine.run {
    http = EventMachine::HttpRequest.new(url).post :body => {body}
    http.errback { p 'Uh oh'; EM.stop }
    http.callback {
      p http.response
      EventMachine.stop
    }
  }

编辑:我没有为此嫁给eventmachine。如果有更好的解决方案,我洗耳恭听。

有一个简单的解决方案,就是创建一个新线程并让它完成任务,一个可能(或不)帮助您正确完成任务的库是。 我自己从来没有用过,但我认为它可能很适合你的需要

我喜欢Eventmachine,并在我的大多数项目(工作或个人)中使用它,但它需要更多的工作才能使它与rails一起工作,而且您仍然需要非常小心您正在使用的库以及如何不阻塞反应器

请注意,如果执行任何阻塞操作,您也需要小心使用踏板,但今天的大多数库都是为不阻塞解释器而构建的(至少在1.9中)