#!/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...")