code: def task_webhook(fun):
      
  
      @wraps(fun)
      def _inner(*args, **kwargs):
          try:
              retval = fun(*args, **kwargs)
          except Exception as exc:
              response = {'status': 'failure', 'reason': safe_repr(exc)}
          else:
              response = {'status': 'success', 'retval': retval}
  
          return JsonResponse(response)
  
      return _inner
docs: Decorator turning a function into a task webhook.
  
      If an exception is raised within the function, the decorated
      function catches this and returns an error JSON response, otherwise
      it returns the result as a JSON response.
  
  
      Example:
  
      .. code-block:: python
  
          @task_webhook
          def add(request):
              x = int(request.GET['x'])
              y = int(request.GET['y'])
              return x + y
  
          def view(request):
              response = add(request)
              print(response.content)
  
      Gives::
  
          "{'status': 'success', 'retval': 100}"