用很多方法创建一个大班后,我希望在延迟的工作中调用所有这些方法。
但Delayed::job
的做法是,您必须使用perform
方法创建一个类,如下所示:
class Me < Struct.new(:something)
def perform
puts "GO"
end
end
并称之为:
Delayed::Job.enqueue Me.new(1)
但问题是我的班级已经有很多像这种类型的方法
class NameHandler
def self.init
ap "TODO : Delayed jobs "
end
def self.action_one
...
end
def self.action_two
...
end
etc.
end
我想把它称为:
Delayed::Job.enqueue NameHandler.action_one params...
Theres是最好的做法吗?或者我必须遵循经典的Delayed :: job方式并多次失败?
答案 0 :(得分:0)
在README中,它有多种方式:
Me.new.delay.action_one
或
class NameHandler
handle_asynchronously :action_one
def action_one
end
def self.action_one
new.action_one
end
end
NameHandler.action_one