我正在设计一个 Ruby on Rails 应用程序,它请求 XML 提要、读入它们并将它们解析为要在 View 中使用的对象。由于对 XML 提要的请求和随后从某些源接收到它可能需要几秒钟才能完成,我需要一种方法来从我的前线应用程序层卸载这些任务。我不希望我的应用程序服务器处理请求的时间超过几百毫秒。目前,应用程序服务进程等待 XML 提要数据返回,以便它们可以解析数据并完成返回用户请求。我知道 DelayedJobs,但是鉴于此操作的结果将实时返回给用户,我不确定如何将其卸载到后台任务并接收结果。
如果我将此任务卸载到后台任务,如何将结果返回给加载页面的用户?
最佳答案
这种事情的一个常见模型是使用您喜欢的后台作业库(您提到了 DelayedJob,它似乎是一个流行的库)从请求/响应周期中卸载任务,然后设置 AJAX 轮询客户端在结果可用后用结果更新页面。
关于ruby-on-rails - 如何从后台进程中获取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2358625/