我正在使用救援来处理所有繁重的背景任务, 在我的库/ 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)
我在这方面做错了什么?
答案 0 :(得分:3)
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)