Resque - 未定义的方法'执行'为类

Luk*_*ith 5 ruby ruby-on-rails resque

我目前的背景队列运气不好.我正试图让Resque工作.我已经安装了redis和Resque gem.

Redis正在运行.一个工人正在运行(rake resque:work QUEUE = simple).使用Web界面,我可以看到工作人员正在运行并等待工作.

当我运行'rake get_updates'时,作业排队但失败了.我已经尝试过def self.perform和def perform.

clockwork.rake

task :get_updates => :environment do
    Resque.enqueue(GetUpdates)
end
Run Code Online (Sandbox Code Playgroud)

类文件(app/workers/get_updates.rb)

class GetUpdates
    @queue = :simple

    def perform

        puts "Running GetUpdates"

    end

end
Run Code Online (Sandbox Code Playgroud)

错误信息

undefined method `perform' for GetUpdates:Class
/Users/lukesmith/.rvm/gems/ruby-1.9.3-p327/bundler/gems/resque-620d354454b8/lib/resque/job_performer.rb:79:in `perform_job'
/Users/lukesmith/.rvm/gems/ruby-1.9.3-p327/bundler/gems/resque-620d354454b8/lib/resque/job_performer.rb:46:in `execute_job'
/Users/lukesmith/.rvm/gems/ruby-1.9.3-p327/bundler/gems/resque-620d354454b8/lib/resque/job_performer.rb:25:in `perform' 
Run Code Online (Sandbox Code Playgroud)

Ser*_*sev 10

perform 方法应该是类实例方法.

class GetUpdates
  @queue = :simple

  def self.perform
    puts "Running GetUpdates"
  end

end
Run Code Online (Sandbox Code Playgroud)