【发布时间】:2010-01-26 05:14:46
【问题描述】:
我想知道我是否可以使用delayed_job。我需要能够在 delayed_job perform 方法中将作业添加到队列中。这可能吗?
【问题讨论】:
我想知道我是否可以使用delayed_job。我需要能够在 delayed_job perform 方法中将作业添加到队列中。这可能吗?
【问题讨论】:
根据我的测试,他们可以:
型号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...”。
【讨论】:
我在send_later 调用的方法中调用send_later 的简单测试表明否,它将不起作用。
【讨论】:
send_later 不允许这样做。我在脚本/控制台中测试过。