root: rewrite bootstrap in python, remove management command

This commit is contained in:
Jens Langhammer
2020-05-16 22:14:26 +02:00
parent a6301055f0
commit 10d3f9ac2f
8 changed files with 46 additions and 53 deletions

39
docker/wait_for_db.py Executable file
View File

@ -0,0 +1,39 @@
#!/usr/bin/env python
"""This file needs to be run from the root of the project to correctly
import passbook. This is done by the dockerfile."""
from time import sleep
from psycopg2 import connect, OperationalError
from passbook.lib.config import CONFIG
from structlog import get_logger
from redis import Redis
from redis.exceptions import RedisError
LOGGER = get_logger()
while True:
try:
conn = connect(
dbname=CONFIG.y("postgresql.name"),
user=CONFIG.y("postgresql.user"),
password=CONFIG.y("postgresql.password"),
host=CONFIG.y("postgresql.host"),
)
conn.cursor()
break
except OperationalError:
sleep(1)
LOGGER.warning("PostgreSQL Connection failed, retrying...")
while True:
try:
redis = Redis(
host=CONFIG.y("redis.host"),
port=6379,
db=CONFIG.y("redis.message_queue_db"),
password=CONFIG.y("redis.password"),
)
redis.ping()
break
except RedisError:
sleep(1)
LOGGER.warning("Redis Connection failed, retrying...")