delayed_jobs可以创建delayed_jobs吗?

时间:2010-01-24 23:07:14

标签: ruby-on-rails delayed-job

我正在试图弄清楚我是否能够使用delayed_job。我需要能够在delayed_job perform方法中将作业添加到队列中。这可能吗?

2 个答案:

答案 0 :(得分: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

来自控制台:

  

延迟:: Job.enqueue Machine.create!

这最终会创建Proof的实例并记录“Inside secondary's ...”。

答案 1 :(得分:-1)

我在send_later调用的方法中调用send_later的简单测试表明 NO ,它不起作用。