def trigger_now(time)
t = Rufus::Scheduler::ZoTime.now
Thread.current[:rufus_scheduler_job] = self
Thread.current[:rufus_scheduler_time] = t
Thread.current[:rufus_scheduler_timeout] = compute_timeout
@last_time = t
do_call(time, true)
ensure
@last_work_time =
Rufus::Scheduler::ZoTime.now - Thread.current[:rufus_scheduler_time]
@mean_work_time =
((@count - 1) * @mean_work_time + @last_work_time) / @count
post_trigger(time)
Thread.current[:rufus_scheduler_job] = nil
Thread.current[:rufus_scheduler_time] = nil
Thread.current[:rufus_scheduler_timeout] = nil
end