加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Resque – 未定义的方法’执行’为类

发布时间:2020-12-17 03:55:26 所属栏目:百科 来源:网络整理
导读:我目前的背景队列运气不好.我正试图让Resque工作.我已经安装了redis和Resque gem. Redis正在运行.一个工人正在运行(rake resque:work QUEUE = simple).使用Web界面,我可以看到工作人员正在运行并等待工作. 当我运行’rake get_updates’时,作业排队但失败了
我目前的背景队列运气不好.我正试图让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

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

class GetUpdates
    @queue = :simple

    def perform

        puts "Running GetUpdates"

    end

end

错误信息

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'

解决方法

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

class GetUpdates
  @queue = :simple

  def self.perform
    puts "Running GetUpdates"
  end

end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读