2012-03-12 83 views
0

我使用的救援处理所有繁重的后台任务, 在我的图书馆/解析器/ file.rb我Resque错误 - 错误的参数数目(0 1)

Resque.enqueue(Hello) 

这将重定向应用程序/工人/ file.rb在那里我有

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

我的lib /任务/ resque.rake文件

require "resque/tasks" 

task "resque:setup" => :environment 

我我能队列中的作业的击打当我尝试说

argument error 
wrong number of arguments (0 for 1) 

我在做什么错在此执行使用

rake resque:work QUEUE=* 

它抛出一个错误的工作吗?

+1

我从来没有用过resque所以我可能是错的,但并不需要传递一个值“页”参数进入'Resque.enqueue'调用? 'Resque.enqueue(Hello,page_value)' – pjumble 2012-03-12 10:24:42

回答

3

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

Resque.enqueue(Hello, page_id) 

排队需要作业,其次是进入执行动作的参数。如果您有:

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

然后你可以这样做:

Resque.enqueue(Hello, page_number, page_foo, page_bar) 
相关问题