【问题标题】:Resque error- wrong number of arguments(0 for 1)Resque 错误 - 参数数量错误(0 代表 1)
【发布时间】:2012-03-28 16:56:52
【问题描述】:

我正在使用救援来处理所有繁重的后台任务, 在我的 library/parsers/file.rb 我有

Resque.enqueue(Hello)

这会将 app/workers/file.rb 重定向到我拥有的位置

class Hello
def self.perform(page)
.......
.......
end
rescue Exception => e
log "error: #{e}"
end
end

我的 lib/tasks/resque.rake 文件是

    require "resque/tasks"  

task "resque:setup" => :environment  

当我尝试使用执行作业时,我可以将作业排入队列

    rake resque:work QUEUE=*

说是报错

    argument error
wrong number of arguments (0 for 1)

我做错了什么?

【问题讨论】:

  • 我从来没有使用过resque,所以我可能错了,但是你不需要将'page'参数的值传递给Resque.enqueue调用吗? Resque.enqueue(Hello, page_value)

标签: ruby-on-rails ruby-on-rails-3 gem redis resque


【解决方案1】:

pjumble 是完全正确的,你没有通过页面。

Resque.enqueue(Hello, page_id)

enqueue 接受 Job,然后是进入执行操作的 args。如果你有:

class Hello
 def self.perform(page_number, page_foo, page_bar)
   ...
 end
end

然后你会这样做:

Resque.enqueue(Hello, page_number, page_foo, page_bar)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多