Ruby on rails Resque:作业必须放置到队列中。无法为类工作者推断任何队列

Ruby on rails Resque:作业必须放置到队列中。无法为类工作者推断任何队列,ruby-on-rails,ruby,queue,resque,Ruby On Rails,Ruby,Queue,Resque,我正在开发一个rails应用程序,其中包括使用Resque。我在worker类中定义了队列 def self.queue @queue = :my_worker_queue end 不过我还是觉得 作业必须放在队列中。无法为类工作者推断任何队列 关于如何定义队列有什么想法吗?谢谢 Resque要求您使用队列名称设置类级实例变量。这就是你的self.queue方法所做的,但只有当你真正调用它时,它才会这样做 更简单的选择是删除self.queue方法,并将@queue=:my_worker\

我正在开发一个rails应用程序,其中包括使用Resque。我在worker类中定义了队列

def self.queue
  @queue = :my_worker_queue
end
不过我还是觉得

作业必须放在队列中。无法为类工作者推断任何队列


关于如何定义队列有什么想法吗?谢谢

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

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

所以会是这样的

class Worker
  @queue = :my_worker_queue

  def self.perform
    # do your stuff
  end
end
更多信息:

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

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

所以会是这样的

class Worker
  @queue = :my_worker_queue

  def self.perform
    # do your stuff
  end
end
更多信息:

您是如何运行该应用程序的?你需要启动worker$QUEUE=my_worker_QUEUE rake resque:workI启动它的方法是启动rails服务器并发送到一个表,该表应该让一个worker使用resque排队。enqueue你是如何运行该应用程序的?您需要启动worker$QUEUE=my_worker_QUEUE rake resque:workI通过启动rails服务器并发送到一个表来启动它,该表应该使用resque.enqueue将worker排入队列