Make generate_backups function atomic, increase DB timeout
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
from django.core.management.base import BaseCommand, CommandError
|
from django.core.management.base import BaseCommand, CommandError
|
||||||
from django.utils.timezone import now
|
from django.utils.timezone import now
|
||||||
from django.core.cache import cache
|
from django.core.cache import cache
|
||||||
|
from django.db import transaction
|
||||||
|
|
||||||
from apiserver import secrets, settings
|
from apiserver import secrets, settings
|
||||||
from apiserver.api import models
|
from apiserver.api import models
|
||||||
@@ -25,6 +26,7 @@ backup_id_string = lambda x: '{}\t{}\t{}'.format(
|
|||||||
class Command(BaseCommand):
|
class Command(BaseCommand):
|
||||||
help = 'Generate backups.'
|
help = 'Generate backups.'
|
||||||
|
|
||||||
|
@transaction.atomic
|
||||||
def generate_backups(self):
|
def generate_backups(self):
|
||||||
backup_users = secrets.BACKUP_TOKENS.values()
|
backup_users = secrets.BACKUP_TOKENS.values()
|
||||||
|
|
||||||
|
@@ -116,6 +116,9 @@ DATABASES = {
|
|||||||
'default': {
|
'default': {
|
||||||
'ENGINE': 'django.db.backends.sqlite3',
|
'ENGINE': 'django.db.backends.sqlite3',
|
||||||
'NAME': os.path.join(BASE_DIR, 'data/db.sqlite3'),
|
'NAME': os.path.join(BASE_DIR, 'data/db.sqlite3'),
|
||||||
|
'OPTIONS': {
|
||||||
|
'timeout': 20, # increased because generate_backups.py blocks
|
||||||
|
},
|
||||||
},
|
},
|
||||||
'old_portal': {
|
'old_portal': {
|
||||||
'ENGINE': 'django.db.backends.sqlite3',
|
'ENGINE': 'django.db.backends.sqlite3',
|
||||||
|
Reference in New Issue
Block a user