标签: ruby-on-rails ruby-on-rails-4
我正在处理长期工作。我从控制器调用长时间运行的方法。我想立即向用户发送json响应。下面是我的代码,但它不起作用。
def process p = Proces.new(:status => "in-progress") render :json => {:id => process.id} long_running_job() end
我如何立即发送json响应?
答案 0 :(得分:2)
您需要在后台作业队列中运行long_running_job。这将使您的长时间运行任务在Web请求周期之外发生,允许您立即返回JSON,而您的长时间运行的进程将在其他地方继续。如果您使用的是Rails 4.2+和/或ActiveJob,请查看Sidekiq。