2010-01-24 3 views

ответ

2

По моему испытанию, они могут:

Machine модель:

class Machine < ActiveRecord::Base 
    def perform 
    Delayed::Job.enqueue Secondary.create! 
    end 
end 

модель Secondary:

class Secondary < ActiveRecord::Base 
    def perform 
    logger.info("Inside secondary's perform method (WIN)") 
    Proof.create! 
    end 
end 

из консоли:

Задержки :: Работа .enqueue Mach ine.create!

В результате создается экземпляр Proof и журналы «Внутренние вторичные ...».

+0

Моя отложенная работа также отлично работает при старте другой отложенной работы в рамках ее работы. –

+0

Да, они абсолютно могут. Есть некоторые обстоятельства, когда полезно «цепочки» заданий, подобных этому, но большую часть времени вы можете просто иметь одно задание, которое переводит состояние модели по мере того, как это происходит, чтобы задание можно было перезапустить в текущей точке своего если он терпит неудачу. – betamatt

-1

Мой простой тест вызова в методе, вызываемой send_latersend_later указывает, что NO, он не будет работать.

+0

Возможно, это просто 'send_later', что не позволяет этого. Я тестировал скрипт/консоль. –

 Смежные вопросы

  • Нет связанных вопросов^_^