Resque error - неверное количество аргументов (0 для 1) - PullRequest
0 голосов
/ 12 марта 2012

Я использую команду спасения, чтобы справиться со всеми тяжелыми фоновыми задачами. В моей библиотеке / parsers / file.rb у меня есть

Resque.enqueue(Hello)

Это перенаправит app / worker / 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)

что я в этом делаю не так?

1 Ответ

3 голосов
/ 12 марта 2012

pjumble совершенно верно, вы не пропускаете страницу.

Resque.enqueue(Hello, page_id)

enqueue принимает задание, за которым следуют аргументы, которые входят в действие выполнения. Если у вас было:

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

Тогда вы бы сделали это:

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