 
     queueName = @getQueueName queues?[0]
 
-    @getQueue(queueName).get n: toRetrieve, (err, ironTasks) =>
+    @getQueue(queueName).reserve n: toRetrieve, (err, ironTasks) =>
       if err
         logger.warn "IVY_WARNING Cannot retrieve task from IronMQ", err
         @manager.emit 'mqError', err if err

    catch e
      logger.error 'ironTask is', ironTask
      logger.error "IVY_IRONMQ_ERROR Retrieve tasks that cannot be parsed as JSON, deleting from queue: #{ironTask}", e
      @getQueue().del ironTask.id, (err, body) =>
        if err
          logger.warn "IVY_WARNING Cannot delete task from IronMQ", err
          @manager.emit 'mqError', err

          @emitConsumeTask message, queueName, ironTask

  taskExecuted: (err, result) ->
    @getQueue(result.queue).del result.id, {}, (err, body) =>
      if err
        logger.warn "IVY_WARNING Cannot delete task #{result.id} from IronMQ", err
        @manager.emit 'mqError', err
