class Concurrent::SerializedExecution

def call_job(job)

def call_job(job)
  did_it_run = begin
                 job.executor.post { work(job) }
                 true
               rescue RejectedExecutionError => ex
                 false
               end
  # TODO not the best idea to run it myself
  unless did_it_run
    begin
      work job
    rescue => ex
      # let it fail
      log DEBUG, ex
    end
  end
end