Resque:必须将作业放入队列。无法为类Worker推断队列

时间:2018-08-20 18:52:02

标签: ruby-on-rails ruby queue resque

我正在开发一个涉及使用Resque的Rails应用程序。我在worker类中定义了队列。

def self.queue
  @queue = :my_worker_queue
end

但是我仍然得到

  

作业必须放在队列中。无法推断出工人类的队列

关于如何定义队列的任何想法?谢谢!

1 个答案:

答案 0 :(得分:1)

Resque要求您使用队列名称设置类级别的实例变量。这就是您的self.queue方法所做的,但是只有您真正调用它时,它才会这样做。

更简单的选择是删除self.queue方法并将@queue = :my_worker_queue放在类本身的顶部。

所以会像

class Worker
  @queue = :my_worker_queue

  def self.perform
    # do your stuff
  end
end

更多信息: http://tutorials.jumpstartlab.com/topics/performance/background_jobs.html