【发布时间】:2012-04-17 05:52:43
【问题描述】:
我有一个简单的 resque 作业,它接受模型 ID,获取它,然后调用获取的项目的方法。
class CupcakeWorker
@queue = :cupcake_queue
def self.perform(cupcake_id)
@cupcake = Cupcake.find(cupcake_id)
@cupcake.bake
end
end
我使用 'enqueue' 方法从控制器操作中对其进行排队
def bake
Resque.enqueue(CupcakeWorker, params[:cupcake_id])
render :json => 'Baking...'
end
作业排队并正确执行。但是,如果我修改数据库中的记录数据并再次将作业排队,则不会使用新值执行操作。
如果我重新启动 resque 工作进程,我只能让它获取新值。 resque 是否正在缓存对象?有没有办法确保每次调用工人时它都从数据库中重新获取?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 activerecord redis resque