class Rufus::Scheduler::Job

def do_call(time, do_rescue)

def do_call(time, do_rescue)
  args = [ self, time ][0, @callable.arity]
  @scheduler.around_trigger(self) do
    @callable.call(*args)
  end
rescue StandardError => se
  fail se unless do_rescue
  return if se.is_a?(KillSignal) # discard
  @scheduler.on_error(self, se)
# exceptions above StandardError do pass through
end