def Delete(self, queue, tasks, mutation_pool=None):
    """Removes the tasks from the queue.

    Note that tasks can already have been removed. It is not an error
    to re-delete an already deleted task.

    Args:
     queue: A queue to clear.
     tasks: A list of tasks to remove. Tasks may be Task() instances
          or integers representing the task_id.
     mutation_pool: An optional MutationPool object to schedule deletions on.
                    If not given, self.data_store is used directly.
    """
    if queue:
      predicates = []
      for task in tasks:
        try:
          task_id = task.task_id
        except __HOLE__:
          task_id = int(task)
        predicates.append(self._TaskIdToColumn(task_id))

      if mutation_pool:
        mutation_pool.DeleteAttributes(queue, predicates)
      else:
        self.data_store.DeleteAttributes(
            queue, predicates, token=self.token, sync=False)
dataset/ETHPy150Open google/grr/grr/lib/queue_manager.py/QueueManager.Delete