delayed_job是异步吗?

时间:2014-07-02 11:38:05

标签: ruby-on-rails asynchronous delayed-job

我试图不同寻常地执行长任务。 但任务同步进行。延迟作业3.0.5可以运行作业的异步吗?

我试试: 模型:

MyModel < ActiveRecord::Base

  def do_something
    sleep 10
  end
  #handle_asynchronously :do_something

end

我从控制器调用它:

def do_it
  new_do = MyModel.new id: 1
  new_do.delay.do_something
  render json: {"status":"200"}
end
获得请求后,我还在等待10秒才给出响应。 所以,我错了,我该怎么做才能运行它并在10秒之前收到控制器的响应?

1 个答案:

答案 0 :(得分:0)

不应handle_asynchronouslydelay一起使用。只使用其中一个,而不是同时使用。

如果您的方法应始终在后台运行,请选择#handle_asynchronously

Documentation here