class Rufus::Scheduler::Job

def trigger_now(time)

def trigger_now(time)
  ct = Thread.current
  t = EoTime.now
    # if there are mutexes, t might be really bigger than time
  ct[:rufus_scheduler_job] = self
  ct[:rufus_scheduler_time] = t
  ct[:rufus_scheduler_timeout] = compute_timeout
  @last_time = t
  do_call(time, true)
ensure
  @last_work_time =
    EoTime.now - ct[:rufus_scheduler_time]
  @mean_work_time =
    ((@count - 1) * @mean_work_time + @last_work_time) / @count
  post_trigger(time)
  ct[:rufus_scheduler_job] = nil
  ct[:rufus_scheduler_time] = nil
  ct[:rufus_scheduler_timeout] = nil
end