class ResqueJobsTree::Tree
Attributes
definition[R]
nodes[R]
resources[R]
Public Class Methods
new(definition, resources)
click to toggle source
# File lib/resque_jobs_tree/tree.rb, line 7 def initialize definition, resources @definition = definition @resources = resources @nodes = [] end
Public Instance Methods
finish()
click to toggle source
# File lib/resque_jobs_tree/tree.rb, line 51 def finish after_perform unstore end
inspect()
click to toggle source
# File lib/resque_jobs_tree/tree.rb, line 47 def inspect "<ResqueJobsTree::Tree @name=#{name} @resources=#{resources} >" end
launch()
click to toggle source
# File lib/resque_jobs_tree/tree.rb, line 17 def launch if uniq? before_perform store root.register enqueue_jobs else raise ResqueJobsTree::JobNotUniq, "Tree Definition must be uniq" end end
name()
click to toggle source
# File lib/resque_jobs_tree/tree.rb, line 13 def name @definition.name end
on_failure()
click to toggle source
# File lib/resque_jobs_tree/tree.rb, line 33 def on_failure run_callback :on_failure rescue puts "[ResqueJobsTree::Tree] on_failure callback of tree #{name} has failed. Continuing for cleanup." end
register_node(node)
click to toggle source
# File lib/resque_jobs_tree/tree.rb, line 43 def register_node node @nodes << node end
root()
click to toggle source
# File lib/resque_jobs_tree/tree.rb, line 39 def root @root ||= ResqueJobsTree::Node.new(definition.root, resources, nil, self) end
Private Instance Methods
enqueue_jobs()
click to toggle source
# File lib/resque_jobs_tree/tree.rb, line 58 def enqueue_jobs @nodes.each do |leaf| leaf.enqueue unless leaf.definition.options[:triggerable] end end
run_callback(callback)
click to toggle source
# File lib/resque_jobs_tree/tree.rb, line 64 def run_callback callback callback = definition.send(callback) callback.call(*resources) if callback.kind_of? Proc end