docs: def avoid_parallel_execution(func):
      """A decorator to avoid the parallel execution of a function.
  
      If the function is currently called, the second call is just skipped.
  
      :param func: The function to decorate
      :return:
      """
      def func_wrapper(*args, **kwargs):
          if not getattr(func, "currently_executing", False):
              func.currently_executing = True
              try:
                  return func(*args, **kwargs)
              finally:
                  func.currently_executing = False
          else:
              logger.verbose("Avoid parallel execution of function {}".format(func))
      return func_wrapper