【发布时间】:2011-02-28 01:38:55
【问题描述】:
我想使用delayed_job 对方法upload_to_scribd(来自gem scribd_fu)进行排队。
有什么方法可以在不修改 gem 本身的情况下做到这一点?
【问题讨论】:
我想使用delayed_job 对方法upload_to_scribd(来自gem scribd_fu)进行排队。
有什么方法可以在不修改 gem 本身的情况下做到这一点?
【问题讨论】:
您不需要做任何特别的事情来让它工作。例如,您可以这样做:
ScribdFu.new.delay.upload_to_scribd
如果您愿意,您也可以将其包装在您自己的函数或模型中:
class Attachment
def upload
ScribdFu.new(self).upload_to_scribd
end
end
Attachment.first.delay.upload
P.S:我不知道我对 ScribdFu gem 的调用语法是否正确,但是您应该能够以这种方式使用延迟方法来排队延迟的作业。
要完成您在评论中想要的内容,请创建一个名为 (config/initializers/delay_scribd.rb) 的文件并将以下内容添加到其中:
module ScribdFu
module InstanceMethod
handle_asynchronously :upload_to_scribd
end
end
这意味着在任何时候调用此函数时,都会在延迟作业中调用它,而无需显式调用该方法的延迟。 结束
【讨论】: