2016-11-02 1 views
2

저는 현재 NGGLX 서버에서 실행중인 플라스크 파이썬 응용 프로그램을 uWGI의 도움으로 실행하고 있습니다. 정적 페이지는 항상 도달 할 수 있지만 연결 (MySQL)을 사용하는 페이지는 2 분 후에 시간 초과됩니다. 무슨 일이야? 그들은 단순히 사용할 수 없게됩니다.잠시 후 MySQL 연결 시간이 초과되었습니다 (Python, MySQL, FLASK)

상황은 내가 시도 :

  • 방화벽

해제 풀

  • 작업 글로벌
  • 를 사용하지 않습니다.

    # using python version 2.7.10 
    from flask import Flask, jsonify, request, session 
    import mysql.connector.pooling 
    
    #Make a connection with the DB 
    
    dbconfig = { 
        "host" : "12.34.5.78", 
        "database": "db", 
        "user":  "user", 
        "password": "pass" 
    } 
    
    conn = mysql.connector.connect(pool_name = "mypool", 
             pool_size = 6, 
             **dbconfig) 
    
    #Define the root 
    app = Flask(__name__) 
    
    #Landings page 
    @app.route('/') 
    def index(): 
        return "Hello World." 
    
    # return all resources by name 
    @app.route('/resources', methods=['GET']) 
    def allResourceNames(): 
        conn1 = mysql.connector.connect(pool_name="mypool") 
        reader = conn1.cursor() 
        query = ("SELECT name FROM resources") 
        reader.execute(query) 
        resources = [] 
        for name in reader: 
        resources.append({'name' : name[0]}) 
        reader.close() 
        conn1.close() 
        return jsonify({"resources" : resources}) 
    
    if __name__ == "__main__": 
        app.run(debug=True) 
    
  • 답변

    1

    MySQL Python Connector Doc 에 따르면 당신은 connection_timeout로 연결 옵션을 설정할 수 있습니다. 예 :

    conn = mysql.connector.connect(pool_name = "mypool", 
            pool_size = 6, connection_timeout=3600, 
            **dbconfig) 
    
    +0

    했습니다. 불행히도, 그것은 작동하지 않았다. : – Stephen

    +0

    포스트에 오류 메시지를 올리시겠습니까? 덕분에 – tuergeist

    +0

    그 방법으로 효과가 있었지만, 이유는 모르겠습니다. 단순히 connection_timeout = 1로 변경했는데 실제로는 조금 빨라졌습니다. 실제로 무슨 일이 일어 났는지 설명해 주시겠습니까? – Stephen

    관련 문제