2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-04-29 20:16:44 +00:00

Catch errors if the DB is not up

This commit is contained in:
Oliver Walters 2021-03-12 15:35:55 +11:00
parent 006dd10a79
commit ef4dbda223

View File

@ -7,7 +7,9 @@ import requests
import logging import logging
from datetime import datetime, timedelta from datetime import datetime, timedelta
from django.core.exceptions import AppRegistryNotReady from django.core.exceptions import AppRegistryNotReady
from django.db.utils import OperationalError, ProgrammingError
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -25,15 +27,19 @@ def schedule_task(taskname, **kwargs):
logger.warning("Could not start background tasks - App registry not ready") logger.warning("Could not start background tasks - App registry not ready")
return return
if Schedule.objects.filter(func=taskname).exists(): try:
logger.info(f"Scheduled task '{taskname}' already exists. (Skipping)") if Schedule.objects.filter(func=taskname).exists():
else: logger.info(f"Scheduled task '{taskname}' already exists. (Skipping)")
logger.info(f"Creating scheduled task '{taskname}'") else:
logger.info(f"Creating scheduled task '{taskname}'")
Schedule.objects.create( Schedule.objects.create(
func=taskname, func=taskname,
**kwargs **kwargs
) )
except (OperationalError, ProgrammingError):
# Required if the DB is not ready yet
pass
def heartbeat(): def heartbeat():