2015-01-13 19 views
1

分叉後我需要關閉pserve/waitress進程,但我無法獲取對它的引用,因此我可以關閉它。通常,在金字塔__init__.py我做的:在金字塔處理WSGI應用程序

def main(global_config, **settings): 
    """ This function returns a Pyramid WSGI application. 
    """ 
    ... 
    config = Configurator(settings=settings, 
          authentication_policy=authn_policy, 
          authorization_policy=authz_policy, 
          root_factory=Root) 
    config.scan() 
    return config.make_wsgi_app() 

但是,我不能存儲與WSGI應用某處的變量,因爲它在應用程序的意見globals()不可見等

我怎樣才能得到一個處理它或至少關閉它另一種方式?

+0

你想解決什麼問題? –

回答

0

Configurator()電話似乎以防止增加鍵在main()函數設置字典,所以我用了一招與添加settings['post_configurator_settings']下一個字典,可用於以後,這一切當然在__init__.py

def main(global_config, **settings): 
... 
settings['post_configurator_settings'] = {} 
config = Configurator(settings=settings, 
        ... 
         root_factory=Root) 

... 

wsgi_app = config.make_wsgi_app() 
settings['post_configurator_settings']['wsgi_app'] = wsgi_app 
return wsgi_app