2012-03-12 55 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) 
相關問題