class RocketJob::Jobs::OnDemandBatchJob
Public Instance Methods
add_output_category(**args)
click to toggle source
Add a new output category and collect output for it.
# File lib/rocket_job/jobs/on_demand_batch_job.rb, line 107 def add_output_category(**args) self.output_categories << RocketJob::Category::Output.new(**args) end
slice_size=(slice_size)
click to toggle source
Shortcut for setting the slice_size
# File lib/rocket_job/jobs/on_demand_batch_job.rb, line 102 def slice_size=(slice_size) input_category.slice_size = slice_size end
Private Instance Methods
load_perform_code()
click to toggle source
# File lib/rocket_job/jobs/on_demand_batch_job.rb, line 113 def load_perform_code instance_eval("def perform(row)\n#{code}\nend", __FILE__, __LINE__) end
rocket_job_cron_singleton_check()
click to toggle source
Allow multiple instances of this job to run with the same cron schedule
# File lib/rocket_job/jobs/on_demand_batch_job.rb, line 150 def rocket_job_cron_singleton_check end
run_after_code()
click to toggle source
# File lib/rocket_job/jobs/on_demand_batch_job.rb, line 121 def run_after_code instance_eval(after_code) if after_code end
run_before_code()
click to toggle source
# File lib/rocket_job/jobs/on_demand_batch_job.rb, line 117 def run_before_code instance_eval(before_code) if before_code end
validate_after_code()
click to toggle source
# File lib/rocket_job/jobs/on_demand_batch_job.rb, line 137 def validate_after_code return if after_code.nil? validate_field(:after_code) { instance_eval("def __after_code\n#{after_code}\nend", __FILE__, __LINE__) } end
validate_before_code()
click to toggle source
# File lib/rocket_job/jobs/on_demand_batch_job.rb, line 131 def validate_before_code return if before_code.nil? validate_field(:before_code) { instance_eval("def __before_code\n#{before_code}\nend", __FILE__, __LINE__) } end
validate_code()
click to toggle source
# File lib/rocket_job/jobs/on_demand_batch_job.rb, line 125 def validate_code return if code.nil? validate_field(:code) { load_perform_code } end
validate_field(field) { || ... }
click to toggle source
# File lib/rocket_job/jobs/on_demand_batch_job.rb, line 143 def validate_field(field) yield rescue Exception => e errors.add(field, "Failed to load :#{field}, #{e.inspect}") end