【发布时间】:2014-07-03 00:48:09
【问题描述】:
我正在尝试异步运行长任务。 但是一个任务同步运行。延迟作业 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 秒前收到控制器的响应?
【问题讨论】:
-
您的操作
do it中的变量new_so可能有拼写错误。 -
你不应该同时使用
delay和handle_asynchronously,一个排除另一个 -
我稍后通过@rdlh 评论对此发表评论
标签: ruby-on-rails asynchronous delayed-job