def get_corpus_status(request, name=None):
if request.method == 'GET':
try:
corpus = Corpus.objects.get(name=name)
except ObjectDoesNotExist:
return HttpResponse('Could not find the specified corpus.', status=status.HTTP_404_NOT_FOUND)
if corpus.current_task_id is None:
return JsonResponse(data={'data': 'ready'}, status=status.HTTP_200_OK)
else:
res = AsyncResult(corpus.current_task_id)
if res.state == cstates.SUCCESS:
corpus.current_task_id = None
if corpus.status == Corpus.IMPORT_RUNNING:
corpus.status = Corpus.IMPORTED
corpus.save()
return JsonResponse(data={'data': 'ready'}, status=status.HTTP_200_OK)
elif res.state == cstates.FAILURE:
corpus.current_task_id = None
if corpus.status == Corpus.IMPORT_RUNNING:
corpus.status = Corpus.NOT_IMPORTED
corpus.save()
return JsonResponse(data={'data': 'error'}, status=status.HTTP_200_OK)
return JsonResponse(data={'data': 'busy'}, status=status.HTTP_200_OK)
评论列表
文章目录