docs: def celery_task_wrapper(f):
      """
      Provides a task wrapper for celery that sets up cache and ensures
      that the local store is cleared after completion
      """
      from celery.utils import fun_takes_kwargs
  
      @wraps(f, assigned=available_attrs(f))
      def newf(*args, **kwargs):
          backend = get_backend()
          was_patched = backend._patched
          get_backend().patch()
          # since this function takes all keyword arguments,
          # we will pass only the ones the function below accepts,
          # just as celery does
          supported_keys = fun_takes_kwargs(f, kwargs)
          new_kwargs = dict((key, val) for key, val in kwargs.items()
                                  if key in supported_keys)
  
          try:
              ret = f(*args, **new_kwargs)
          finally:
              local.clear()
          if not was_patched:
              get_backend().unpatch()
          return ret
      return newf