]> git.ipfire.org Git - thirdparty/paperless-ngx.git/commitdiff
Fix: Rotation fails due to celery chord (#6306)
authorTrenton H <797416+stumpylog@users.noreply.github.com>
Sat, 6 Apr 2024 23:26:48 +0000 (16:26 -0700)
committerGitHub <noreply@github.com>
Sat, 6 Apr 2024 23:26:48 +0000 (23:26 +0000)
Use Celery immutable signature so it does not take the result of the header task

src/documents/bulk_edit.py
src/documents/tests/test_bulk_edit.py

index 6b676733dfe099a437ed8989ed932db55a4656fd..362c28e20b8055969f565f1d1abbddb265e88ac1 100644 (file)
@@ -195,7 +195,7 @@ def rotate(doc_ids: list[int], degrees: int):
             logger.exception(f"Error rotating document {doc.id}: {e}")
 
     if len(affected_docs) > 0:
-        bulk_update_task = bulk_update_documents.s(document_ids=affected_docs)
+        bulk_update_task = bulk_update_documents.si(document_ids=affected_docs)
         chord(header=rotate_tasks, body=bulk_update_task).delay()
 
     return "OK"
index aca492649fd97d83b4ebd8c15bee7cd29dbaa3c1..7de9439214931dcdf9ddbccb68b21f4b57812ed0 100644 (file)
@@ -463,7 +463,7 @@ class TestPDFActions(DirectoriesMixin, TestCase):
 
         mock_consume_file.assert_not_called()
 
-    @mock.patch("documents.tasks.bulk_update_documents.s")
+    @mock.patch("documents.tasks.bulk_update_documents.si")
     @mock.patch("documents.tasks.update_document_archive_file.s")
     @mock.patch("celery.chord.delay")
     def test_rotate(self, mock_chord, mock_update_document, mock_update_documents):
@@ -482,7 +482,7 @@ class TestPDFActions(DirectoriesMixin, TestCase):
         mock_chord.assert_called_once()
         self.assertEqual(result, "OK")
 
-    @mock.patch("documents.tasks.bulk_update_documents.s")
+    @mock.patch("documents.tasks.bulk_update_documents.si")
     @mock.patch("documents.tasks.update_document_archive_file.s")
     @mock.patch("pikepdf.Pdf.save")
     def test_rotate_with_error(
@@ -510,7 +510,7 @@ class TestPDFActions(DirectoriesMixin, TestCase):
             self.assertIn(expected_str, error_str)
             mock_update_archive_file.assert_not_called()
 
-    @mock.patch("documents.tasks.bulk_update_documents.s")
+    @mock.patch("documents.tasks.bulk_update_documents.si")
     @mock.patch("documents.tasks.update_document_archive_file.s")
     @mock.patch("celery.chord.delay")
     def test_rotate_non_pdf(