Commit f8e3ad69 authored by jyong's avatar jyong

support mutil documents retry

parent 2790cf4c
import logging
from datetime import datetime from datetime import datetime
from flask import request from flask import request
...@@ -883,14 +884,20 @@ class DocumentRecoverApi(DocumentResource): ...@@ -883,14 +884,20 @@ class DocumentRecoverApi(DocumentResource):
return {'result': 'success'}, 204 return {'result': 'success'}, 204
class DocumentRetryApi(DocumentResource): class DocumentRetryApi(DocumentResource):
@setup_required @setup_required
@login_required @login_required
@account_initialization_required @account_initialization_required
def post(self, dataset_id, document_id): def post(self, dataset_id):
"""retry document.""" """retry document."""
parser = reqparse.RequestParser()
parser.add_argument('document_ids', type=list, required=True, nullable=False,
location='json')
args = parser.parse_args()
dataset_id = str(dataset_id) dataset_id = str(dataset_id)
for document_id in args['document_ids']:
try:
document_id = str(document_id) document_id = str(document_id)
dataset = DatasetService.get_dataset(dataset_id) dataset = DatasetService.get_dataset(dataset_id)
if not dataset: if not dataset:
...@@ -912,6 +919,9 @@ class DocumentRetryApi(DocumentResource): ...@@ -912,6 +919,9 @@ class DocumentRetryApi(DocumentResource):
# retry document # retry document
DocumentService.retry_document(document) DocumentService.retry_document(document)
except Exception as e:
logging.error(f"Document {document_id} retry failed: {str(e)}")
continue
return {'result': 'success'}, 204 return {'result': 'success'}, 204
...@@ -941,3 +951,4 @@ api.add_resource(DocumentStatusApi, ...@@ -941,3 +951,4 @@ api.add_resource(DocumentStatusApi,
'/datasets/<uuid:dataset_id>/documents/<uuid:document_id>/status/<string:action>') '/datasets/<uuid:dataset_id>/documents/<uuid:document_id>/status/<string:action>')
api.add_resource(DocumentPauseApi, '/datasets/<uuid:dataset_id>/documents/<uuid:document_id>/processing/pause') api.add_resource(DocumentPauseApi, '/datasets/<uuid:dataset_id>/documents/<uuid:document_id>/processing/pause')
api.add_resource(DocumentRecoverApi, '/datasets/<uuid:dataset_id>/documents/<uuid:document_id>/processing/resume') api.add_resource(DocumentRecoverApi, '/datasets/<uuid:dataset_id>/documents/<uuid:document_id>/processing/resume')
api.add_resource(DocumentRetryApi, '/datasets/<uuid:dataset_id>/retry')
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment