2013-05-17 2 views
0

я получил Resque настроено в моем Rails 3.2 приложения и иметь после того, как крюк, который успешно называетResque не выполняет какие-либо методов

Resque.enqueue(SomeJob, self.class.name, id) 

Я могу увидеть работу увольняет от, но никаких методов в моей SomeJob класс выполняются. У меня установлен логгер, подтверждающий, что SomeJob выполняется, но оператор журнала внутри моего блока self.perform никогда не вызывается.

def self.perform 
    log.debug("working") 
end 

До сих пор я пытался методы, названные self.work, работа, self.perform, не выполнять, и ничего, кажется, дозвонились. Документация Resque, похоже, ориентирована на ожидающую версию 2.0.0, но я не могу заставить ее работать даже с 1.24.1 или 1.22.

Что такое волшебный метод, который вызывается в Resque? Есть ли способ явно называть его в Resque.enqueue?

ответ

0

На первый взгляд похоже, что вы передаете два аргумента (self.class.name и id), но метод self.perform не может их принять, поэтому он мог бы терпеть неудачу с неправильной ошибкой аргумента.

Мое предложение было бы изменить метод self.perform к следующему:

def self.perform(class_name, id) 
    log.debug("working: class_name=#{class_name} id=#{id}") 
end 
Смежные вопросы