def Progress(self):
    """Indicate progress of the client action.

    This function should be called periodically during client actions that do
    not finish instantly. It will notify the nanny that the action is not stuck
    and avoid the timeout and it will also check if the action has reached its
    cpu limit.

    Raises:
      CPUExceededError: CPU limit exceeded.
    """
    now = time.time()
    if 2 <= now - self.last_progress_time:
      return

    self.last_progress_time = now

    # Prevent the machine from sleeping while the action is running.
    client_utils.KeepAlive()

    if self.nanny_controller is None:
      self.nanny_controller = client_utils.NannyController()

    self.nanny_controller.Heartbeat()
    try:
      user_start, system_start = self.cpu_start
      user_end, system_end = self.proc.cpu_times()

      used_cpu = user_end - user_start + system_end - system_start

      if used_cpu > self.cpu_limit:
        self.grr_worker.SendClientAlert("Cpu limit exceeded.")
        raise CPUExceededError("Action exceeded cpu limit.")

    except AttributeError:
      pass
dataset/ETHPy150Open google/grr/grr/client/actions.py/ActionPlugin.Progress/swapped operands of `<=`