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})
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})