我已经在我的Rails 3.2应用程序中设置了Resque并且有一个成功调用的挂钩
Resque.enqueue(SomeJob, self.class.name, id)
我可以看到这个工作被解雇了,但我的SomeJob类中没有任何方法被执行。我有一个记录器设置确认SomeJob被执行但我的self.perform块中的日志语句永远不会被调用。
def self.perform
log.debug("working")
end
到目前为止,我已经尝试过名为self.work,work,self.perform,perform的方法,似乎没有任何东西被调用。 Resque文档似乎是针对一个待定的2.0.0版本,但即使使用1.24.1或1.22,我也无法使其工作。
在Resque中调用的神奇方法是什么?有没有办法在Resque.enqueue中明确调用它?
答案 0 :(得分:0)
乍一看,您似乎传递了两个参数(self.class.name
和id
),但是self.perform方法无法接受它们,所以它可能会因为无效的参数错误而无声地失败。
我的建议是将self.perform方法更改为以下内容:
def self.perform(class_name, id)
log.debug("working: class_name=#{class_name} id=#{id}")
end