diff --git a/project1/management/__init.py__ b/project1/management/__init.py__ new file mode 100644 index 0000000..e69de29 diff --git a/project1/management/commands/__init.py__ b/project1/management/commands/__init.py__ new file mode 100644 index 0000000..e69de29 diff --git a/project1/management/commands/wait_for_db.py b/project1/management/commands/wait_for_db.py new file mode 100644 index 0000000..f6be870 --- /dev/null +++ b/project1/management/commands/wait_for_db.py @@ -0,0 +1,30 @@ +""" +Django command to wait until DB is started + +""" + +import time + +from psycopg2 import OperationalError as Psycopg2OpError +from django.db.utils import OperationalError + +from django.core.management.base import BaseCommand + +class Command(BaseCommand): + """ Django wait for DB""" + self.stdout.write('Waiting for Database ...') + db_up = False + while db_up is False: + try: + self.check(database=['default']) + db_up = True + except (Psycopg2OpError, OperationalError): + self.stdout.write('Database unavailable, waiting 1 sec...') + time.sleep(1) + + self.stdout.write(self.style.SUCCESS('database ready !!')) + + + + +