|
@ -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 !!')) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|