flask 의 글로벌 객체 사용 관련.

조회수 4292회

안녕하세요.

"Flask 기반의 파이썬 웹프로그래밍" 이란 책을 보다가 궁금한 점이 생겨서 문의 드립니다.

아래 내용은 책의 일부 입니다.

"글로벌 객체는 애플리케이션 전반에서 공유해야 할 데이터를 저장해두고 사용하는 데 효율적이지만, 글로벌 객체에 저장한 속성에 다수의 동시접근이 이뤄지면 애플리케이션 운용에 문제가 발생할 수 있습니다."

from flask import g

@resource.after_request
def after_request(response):
    # 글로벌 객체를 사용하는 한 예제.
    pritn g.userid

# 기본 Auth Check
def authCheck(func):
    @wraps(func)
    def checkFunc(*args, **kwargs):
        g.userid = 'H2'
        return func(*args, **kwargs)
    return checkFunc

@app.route("/")
@authCheck
def main():
    # 글로벌 객체를 사용하는 또 다른 예제.
    print "hello", g.userid 


위 내용 중, "다수의 동시접근" 이라는 부분이 있는데, 제가 기존에 글러벌 객체 사용을 사용자ID 로 쓰고 있었습니다. (g.userid)

한 세션의 요청을 처리할 때, 어떤 함수에서도 해당 ID 값을 가져다 사용할 수 있도록...

그런데, 위 책의 내용은 저와 같이 사용하면 안된다는 걸까요? 여러 사용자의 요청이 동시에 들어온다면, ID값이 바뀔수 있다는?

그렇다면 큰 문제인데요...

저는 현재 nginx + uwsgi + flask 조합으로 웹 서비스를 운영하고 있습니다.

고수분들의 조언 부탁 드립니다.

그럼 오늘도 좋은 하루 되세요.

1 답변

답변을 하려면 로그인이 필요합니다.

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.