def shift
      r = nil
      @semaphore.synchronize do
        @group.values.each do |group|
          if group.ready?
            r = group.shift
            Log.debug "Shifting job '#{r.job_id}' from group '#{group.group_id}'" unless r.nil?
            break
          end
        end
      end
      return(r)
    end
def shift
      r = nil
      @semaphore.synchronize do
        @group.values.each do |group|
          if group.ready?
            r = group.shift
            Log.debug "Shifting job '#{r.job_id}' from group '#{group.group_id}'" unless r.nil?
            break
          end
        end
      end
      return(r)
    end
Grab the oldest work item available