2017-03-04 2 views
0

this question에서 방법 1 사용하여 싱글 톤을 구현 gunicorn : 나는 로컬로 실행 해요 때파이썬 클래스 장고와/싱글 상호 작용

def singleton(class_): 
    instances = {} 
    def getinstance(*args, **kwargs): 
    if class_ not in instances: 
     instances[class_] = class_(*args, **kwargs) 
    return instances[class_] 
    return getinstance 

@singleton 
class MyClass(BaseClass): 
    pass 

이 로컬로 작동하지만, 내가 gunicorn로 배포하고-크론 탭을 장고 때 그것은 싱글 톤이 유지되지 않고 클래스의 여러 인스턴스가 인스턴스화 된 것처럼 보입니다. 각 gunicorn 작업자가 클래스의 별도 인스턴스를 생성하는지 궁금하네요. 즉, 나는 gunicorn으로 웹 애플리케이션을 실행할 때 Python과 Django와의 상호 작용에 대해 묻고있다.

답변

1

예, 각 프로세스에는 고유 한 메모리 공간이 있으므로 자체 인스턴스가 있습니다. 데이터를 공유해야하는 경우 데이터베이스 또는 캐시를 사용해야합니다.