Add transaction rollback

This commit is contained in:
Roberto Rosario
2012-02-06 14:56:27 -04:00
parent 248a5ea82d
commit eef1114be2
3 changed files with 14 additions and 6 deletions

View File

@@ -22,6 +22,7 @@ class LockManager(models.Manager):
logger.debug('acquired lock: %s' % name)
return lock
except IntegrityError, msg:
transaction.rollback()
logger.debug('IntegrityError: %s', msg)
# There is already an existing lock
# Check it's expiration date and if expired, reset it

View File

@@ -7,6 +7,7 @@ from django.utils.translation import ugettext_lazy as _
from django.utils.translation import ugettext
from django.db.models.signals import post_save, post_syncdb
from django.dispatch import receiver
from django.db.utils import DatabaseError
from navigation.api import register_links, register_multi_item_links
from documents.models import Document, DocumentVersion
@@ -64,7 +65,11 @@ register_maintenance_links([all_document_ocr_cleanup], namespace='ocr', title=_(
@transaction.commit_on_success
def create_default_queue():
try:
default_queue, created = DocumentQueue.objects.get_or_create(name='default')
except DatabaseError:
transaction.rollback()
else:
if created:
default_queue.label = ugettext(u'Default')
default_queue.save()

View File

@@ -9,6 +9,7 @@ from django.contrib.contenttypes.models import ContentType
from django.contrib.contenttypes import generic
from django.core.exceptions import ValidationError
from django.db import transaction
from django.db.utils import DatabaseError
from converter.api import get_available_transformations_choices
from converter.literals import DIMENSION_SEPARATOR
@@ -119,7 +120,8 @@ class BaseModel(models.Model):
new_version = document.new_version(file=file_object, **new_version_data)
except Exception:
# Don't leave the database in a broken state
document.delete()
# document.delete()
transaction.rollback()
raise
if filename: