【发布时间】:2011-12-29 09:05:01
【问题描述】:
我正在尝试 resque,但不确定 resque worker 实例的生命周期。假设我通过以下方式设置了任务:
class User
def self.start_job(str)
Resque.enqueue(Job, str)
end
end
和
class Job
def self.perform(str)
Message.create(:user => str.split(" ")[0],
:message => str.split(" ")[1])
end
end
Message 创建后,有 after_create 钩子调用另一个长时间运行的任务:
class Message < ActiveRecord::Base
after_create (or after_commit) :do_a_ridiculous_long_task
def do_a_ridiculous_long_task
do_something
end
end
resque worker 的生命周期是在消息创建后立即结束,还是一直持续到消息模型中的 after_create 方法完成后?换句话说,resque worker 会随着 ActiveRecord 对象的生命周期跟踪多远?
【问题讨论】:
标签: activerecord ruby-on-rails-3.1 resque