def handle_fallback(*args)
      case @fallback_policy
      when :abort
        raise RejectedExecutionError
      when :discard
        false
      when :caller_runs
        begin
          yield(*args)
        rescue => e
          Chef::Log.debug "Caught exception => #{e}"
        end
        true
      else
        fail "Unknown fallback policy #{@fallback_policy}"
      end
    end
def handle_fallback(*args)
      case @fallback_policy
      when :abort
        raise RejectedExecutionError
      when :discard
        false
      when :caller_runs
        begin
          yield(*args)
        rescue => e
          Chef::Log.debug "Caught exception => #{e}"
        end
        true
      else
        fail "Unknown fallback policy #{@fallback_policy}"
      end
    end
Handler which executes the `fallback_policy` once the queue size reaches
 `max_queue`.

 @param [Array] args
   The arguments to the task which is being handled.

 @!visibility private