class Rufus::Scheduler::SchedulerCore

def trigger_job(params, &block)


EmScheduler blocking triggers for the next tick. Not the same thing ...
TODO : clarify, the blocking here blocks the whole scheduler, while

Else, it will call the block in a dedicated thread.
call the block and return when the block is done.
The default, plain, implementation. If 'blocking' is true, will simply
def trigger_job(params, &block)
  if params[:blocking]
    block.call
  elsif m = params[:mutex]
    m = (@mutexes[m.to_s] ||= Mutex.new) unless m.is_a?(Mutex)
    Thread.new { m.synchronize { block.call } }
  else
    Thread.new { block.call }
  end
end