2011-01-19 10 views
4

私のパイロン環境のバックグラウンドで実行され、クライアント要求にバインドされていないプロセスを作成して、パイロン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

これは働いていた

あなただけそれを読んでするつもりなら、configに1を使用しても安全です私のためには(pylons 0.9.7)、 'pylons.app_globals._push_object(config ['pylons.app_globals'])'はしませんでした。おそらく、私はそれを間違って使用していました。 – Hollister

+0

新しいバージョンのPylonsのための私の解決策。 – stalkerg

3

あなたは(パイロンにリクエストごとregisterd app_globals)app_globalsを登録する必要があります:

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

これは私のために働いた、fyi。受け入れられた答えはしませんでした。ありがとう。 – jeffcook2150