Retry action, basic frontend, cleanup handler

This commit is contained in:
shamoon
2024-11-07 18:47:48 -08:00
parent a2e4977201
commit 62b470f691
10 changed files with 168 additions and 38 deletions
+13
View File
@@ -152,6 +152,7 @@ from documents.serialisers import WorkflowTriggerSerializer
from documents.signals import document_updated
from documents.tasks import consume_file
from documents.tasks import empty_trash
from documents.tasks import retry_failed_file
from documents.templating.filepath import validate_filepath_template_and_render
from paperless import version
from paperless.celery import app as celery_app
@@ -1718,6 +1719,18 @@ class TasksViewSet(ReadOnlyModelViewSet):
queryset = PaperlessTask.objects.filter(task_id=task_id)
return queryset
@action(methods=["post"], detail=True)
def retry(self, request, pk=None):
task = self.get_object()
try:
new_task_id = retry_failed_file(task.task_id, True)
return Response({"task_id": new_task_id})
except Exception as e:
logger.warning(f"An error occurred retrying task: {e!s}")
return HttpResponseBadRequest(
"Error retrying task, check logs for more detail.",
)
class AcknowledgeTasksView(GenericAPIView):
permission_classes = (IsAuthenticated,)