Rails 2.3.X – 在呈现并返回请求后执行代码?

在请求被呈现并返回给请求者之后,在rails 2.3.X中是否可以启动一个新的命令链?

我需要该function才能在另一端使用异步API:他们期望对他们的请求做出响应,在响应完成后,我的rails应用程序应该向他们发送新的http请求(将内容发布到他们的API)。 ..

这有什么可能性? 有什么像after_render钩子? 我应该使用线程或后台任务吗?如何才能完成?

我会很高兴一些解决方案:-)

亲切的问候

更新:应在执行其他调用之前将返回代码(例如200)发送给请求者

最简单的方法是生成一个新线程。 这假设它是一个轻量级调用,您不需要高级错误日志记录或重试逻辑。

Thread.new do puts "call the api" end 

两个最受欢迎的解决方案是延迟工作(Lars提到)和Resque:

如何使用延迟工作 ?

我可能是错的,但我认为代码执行在渲染后继续,除非你提交一个返回。 这就是你尝试渲染两次时出现错误的原因..

你在渲染HTML吗? 如果是这样,也许您可​​以在呈现的页面中插入一些javascript以向控制器发出新请求并启动您需要采取的进一步操作。