2017-01-30 4 views
2

글로벌 사전 변수가있는 서버 코드가 있습니다. 그것은 하나의 프로세스 gunicorn과 잘 작동하지만 하나의 값이이 사전에 도달하지 않기 때문에 다중 프로세스를 만들 때 오류가 발생합니다. 나는이 사전이 프로세스들간에 공유 될 수 없기 때문이라고 믿습니다. 이런 종류의 문제에 대한 해결 방법을 알고 있습니까?gunicorn 프로세스간에 사전을 공유하는 방법은 무엇입니까?

+0

코드를 공유하고 실행할 수 있습니까? – hansaplast

+0

나는 지금 모바일에있을거야. – erogol

답변

2

Gunicorn 작업자 (예 : gevent)의 다른 인스턴스간에 공유 파이썬 개체에 액세스하려는 경우 유감스럽게 생각합니다.로드/저장과 같은 공유 서비스를 사용하여 구현해야합니다. Redis 데이터베이스.

각 Gunicorn 작업자 프로세스의 프로세스 ID가 고유하므로 다른 프로세스의 공유 메모리에 액세스 할 수 없습니다. https://github.com/benoitc/gunicorn/issues/1026

감사합니다 :

여기에서 더 많은 정보를 찾을 수 있습니다.

-1

다음 작업을 수행하지만 정확한 해결책은 아니지만 여전히 작동합니다. 나는에 Redis를 사용하여 값을 btw 프로세스와 공유해야합니다. 그리고 Redis를 설치 한 후 꽤 쉽습니다.