Example #1
0
    def get(self, request, pk=None, celery_task_id=None):
        res = celery.AsyncResult(celery_task_id)
        if not res.ready():
            return Response({'ready': False}, status=status.HTTP_200_OK)
        else:
            result = res.get()
            if result.get('error', None) is not None:
                cleanup_grass_context(result['context'])
                return Response({'ready': True, 'error': result['error']})

            contours_file = result.get('output')
            if not contours_file or not os.path.exists(contours_file):
                cleanup_grass_context(result['context'])
                return Response({'ready': True, 'error': 'Contours file could not be generated. This might be a bug.'})

            request.session['contours_' + celery_task_id] = contours_file
            return Response({'ready': True})
Example #2
0
    def get(self, request, pk=None, celery_task_id=None):
        res = celery.AsyncResult(celery_task_id)
        if not res.ready():
            return Response({'ready': False}, status=status.HTTP_200_OK)
        else:
            result = res.get()
            if result.get('error', None) is not None:
                cleanup_grass_context(result['context'])
                return Response({'ready': True, 'error': result['error']})

            output = result.get('output')
            if not output or not os.path.exists(output):
                cleanup_grass_context(result['context'])
                return Response({'ready': True, 'error': output})

            request.session['elevation_map_' + celery_task_id] = output
            return Response({'ready': True})