예제 #1
0
    main_logger.info("MYSQL_ENV_MYSQL_DATABASE = %s", os.getenv("MYSQL_ENV_MYSQL_DATABASE"))
    main_logger.info("MYSQL_PORT_3306_TCP_ADDR = %s", os.getenv("MYSQL_PORT_3306_TCP_ADDR"))
    main_logger.info("MYSQL_PORT_3306_TCP_PORT = %s", os.getenv("MYSQL_PORT_3306_TCP_PORT"))
    main_logger.info("MYSQL_ENV_MYSQL_USER = %s", os.getenv("MYSQL_ENV_MYSQL_USER"))
    main_logger.info("MYSQL_ENV_MYSQL_PASSWORD = %s", os.getenv("MYSQL_ENV_MYSQL_PASSWORD"))

    def try_db_connect(attempts=0):
        """Try connecting to the db"""
        try:
            UniqueIndex.database_connect()
        except peewee.OperationalError, ex:
            if attempts < DATABASE_CONNECT_ATTEMPTS:
                sleep(DATABASE_WAIT)
                attempts += 1
                try_db_connect(attempts)
            else:
                raise ex

    try_db_connect()
    if not UniqueIndex.table_exists():
        UniqueIndex.create_table()

    UniqueIndex.database_close()

    httpd = make_server("0.0.0.0", 8051, application)
    httpd.serve_forever()


if __name__ == "__main__":
    main()