diff --git a/apiserver/apiserver/api/management/commands/generate_backups.py b/apiserver/apiserver/api/management/commands/generate_backups.py index d32ec50..942e0d8 100644 --- a/apiserver/apiserver/api/management/commands/generate_backups.py +++ b/apiserver/apiserver/api/management/commands/generate_backups.py @@ -1,6 +1,7 @@ from django.core.management.base import BaseCommand, CommandError from django.utils.timezone import now from django.core.cache import cache +from django.db import transaction from apiserver import secrets, settings from apiserver.api import models @@ -25,6 +26,7 @@ backup_id_string = lambda x: '{}\t{}\t{}'.format( class Command(BaseCommand): help = 'Generate backups.' + @transaction.atomic def generate_backups(self): backup_users = secrets.BACKUP_TOKENS.values() diff --git a/apiserver/apiserver/settings.py b/apiserver/apiserver/settings.py index f5dfbf8..2b1b935 100644 --- a/apiserver/apiserver/settings.py +++ b/apiserver/apiserver/settings.py @@ -116,6 +116,9 @@ DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'data/db.sqlite3'), + 'OPTIONS': { + 'timeout': 20, # increased because generate_backups.py blocks + }, }, 'old_portal': { 'ENGINE': 'django.db.backends.sqlite3',