Resque不执行任何方法

时间:2013-05-17 18:57:59

标签: ruby-on-rails-3 resque

我已经在我的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中明确调用它?

1 个答案:

答案 0 :(得分:0)

乍一看,您似乎传递了两个参数(self.class.nameid),但是self.perform方法无法接受它们,所以它可能会因为无效的参数错误而无声地失败。

我的建议是将self.perform方法更改为以下内容:

def self.perform(class_name, id)
  log.debug("working: class_name=#{class_name} id=#{id}")
end