2011-01-19 2 views
4

클라이언트 요청에 바인드되지 않은 내 pylons 환경의 백그라운드에서 실행되는 프로세스를 작성하여 파일 시스템 app_globals에 액세스 할 수 있습니다. 이 프로세스의 일반적인 목적은 클라이언트 세션의 만료 여부를 확인하고 만료 후 분석을 수행하는 것입니다.app_globals에 대한 액세스 권한이있는 Pylons 스레드 만들기

이것이 가능합니까? 나는 config/environment.py 파일의 쓰레드를 생성 시도했지만 한 나는 다음과 같은 오류 얻을 app_globals의 속성에 액세스하려고 할 때 사전에

TypeError: No object (name: app_globals) has been registered for this thread 

감사합니다,

답변

1

당신이하려고하는 객체를 액세스는 서빙 스레드에 대해 모든 요청에 ​​대해 파일롯에 의해 등록 된 StackedObjectProxy입니다.

config.get('pylons.app_globals') or config.get('pylons.g') 
+0

이 일

만 읽을하려는 경우 설정에서 하나를 사용하는 것이 안전합니다 나를 위해 (pylons 0.9.7),하지만'pylons.app_globals._push_object (config [ 'pylons.app_globals'])'하지 않았다. 아마도 내가 잘못 사용했을 수도 있습니다. – Hollister

+0

Pylons의 새로운 버전을위한 나의 해결책. – stalkerg

3

당신은 (철탑의 요청에 따라 등록을 한 app_globals) app_globals를 등록해야합니다 :

pylons.app_globals._push_object(config['pylons.app_globals']) 
+0

이것은 나를 위해 일했습니다, fyi. 인정 된 대답은 그렇지 않았습니다. 감사. – jeffcook2150

관련 문제