2012-04-17 5 views
2

Zope2 세션 문서 : "Zope에서 충돌 오류가 자동으로 다시 시도되고 최종 사용자는 절대로 하나도 표시하지 않아야합니다."Zope 2의 충돌 세션 관리자가 덜

그러나 트래픽 분산 (ZEO의 세션 데이터에 대한 임시 저장소, 4 개의 클라이언트, 동일한 설정의 zope 인스턴스)에 대한 최상의 설정이 있다고 생각하지만 최종 사용자는 여전히 데이터베이스 충돌 오류를 가져옵니다.

메일 목록을 검색하면 Zope에서 OOBTree를 기반으로 세션 데이터를 구현할 때 일반적인 문제인 것 같습니다. repoze.session을 사용하는 것이 좋습니다. 그러나 2009 년 이후에는 지원되지 않습니다.

BTree/TransientObject 충돌 오류를 수정하는 다른 방법은 없습니까? session_data의 기본 설정을 변경해야합니까 (데이터 개체 시간 제한 값, 제한 시간 해상도, 하위 개체의 최대 개수)?

답변

4

Products.BeakerSessionDataManager을 통해 Beaker를 대신 사용하여 세션 구현을 전환하는 것이 가장 좋습니다. 이것은 기본 Zope2 세션 관리자를 대체하는 것으로, 부하가 높을 때 성능이 훨씬 뛰어나며, 충돌 오류 (ContflictErrors)를 겪지는 않습니다.

+0

다시 한번 좋은 제안, Martijn, 고맙습니다. –

+0

링크가 만료되었으므로이 정보는 최신 정보입니까? –

+0

@artemis_clyde 아, 아니. 나중에 업데이트 하겠지만 제품은 여전히 ​​PyPI에 있습니다 : https://pypi.python.org/pypi/Products.BeakerSessionDataManager –