diff --git a/mayan/apps/common/management/commands/performupgrade.py b/mayan/apps/common/management/commands/performupgrade.py index 69fa4cd4b4..d198adf5f4 100644 --- a/mayan/apps/common/management/commands/performupgrade.py +++ b/mayan/apps/common/management/commands/performupgrade.py @@ -1,6 +1,7 @@ from __future__ import unicode_literals from django.core import management +from django.core.management.base import CommandError from ...signals import perform_upgrade, post_upgrade @@ -11,5 +12,20 @@ class Command(management.BaseCommand): def handle(self, *args, **options): management.call_command('migrate', fake_initial=True, interactive=False) management.call_command('purgeperiodictasks', interactive=False) - perform_upgrade.send(sender=self) - post_upgrade.send(sender=self) + + try: + perform_upgrade.send(sender=self) + except Exception as exception: + raise CommandError( + 'Error executing upgrade task; %s' % exception + ) + + try: + post_upgrade.send(sender=self) + except Exception as exception: + raise CommandError( + 'Error executing post-upgrade task; %s' % exception + ) + + + diff --git a/mayan/apps/document_signatures/tasks.py b/mayan/apps/document_signatures/tasks.py index 9657f6417f..3ee53e69bd 100644 --- a/mayan/apps/document_signatures/tasks.py +++ b/mayan/apps/document_signatures/tasks.py @@ -73,4 +73,11 @@ def task_verify_document_version(self, document_version_pk): ) document_version = DocumentVersion.objects.get(pk=document_version_pk) - EmbeddedSignature.objects.create(document_version=document_version) + try: + EmbeddedSignature.objects.create(document_version=document_version) + except IOError as exception: + error_message = 'File missing for document version ID {}; {}'.format( + document_version_pk, exception + ) + logger.error(error_message) + raise IOError(error_message)