Pylons 如何在工作线程上注册tg app_全局?

Pylons 如何在工作线程上注册tg app_全局?,pylons,turbogears2,Pylons,Turbogears2,我有一个turbogears应用程序,广泛使用app_globals 它使用“从tg导入app_globals”的通用代码,然后使用对象 到目前为止,此通用代码仅在传入请求的上下文中调用 但是,我现在想启动应用程序中的工作线程来进行处理,这些工作线程需要调用公共代码 如何在工作线程上注册相同的“tg.app_globals” 我试图避免重写所有常用代码来传递“app_globals”对象。TurboGears配置在处理后始终在任何线程中可用,因此除非您需要在配置过程发生之前访问app_globl

我有一个turbogears应用程序,广泛使用app_globals

它使用“从tg导入app_globals”的通用代码,然后使用对象

到目前为止,此通用代码仅在传入请求的上下文中调用

但是,我现在想启动应用程序中的工作线程来进行处理,这些工作线程需要调用公共代码

如何在工作线程上注册相同的“tg.app_globals”


我试图避免重写所有常用代码来传递“app_globals”对象。

TurboGears配置在处理后始终在任何线程中可用,因此除非您需要在配置过程发生之前访问app_globlas,否则您可以通过
tg.config['tg.app_globals']
确定,但我的要求不同。我有一个公共代码,即使用app_globals,例如,使用“x=app_globals.foo”访问属性。我不想重写所有常用代码来使用tg.config['tg.app\u globals']。。相反,我想让工作线程看起来像是一个tg请求线程,换句话说,我想要“来自tg导入app_globals”;x=app_globals.foo'从我创建的所有线程开始工作整个TG上下文是每个请求,因此TG.request TG.response TG.app_globals等仅在请求期间可访问。唯一的例外是tg.config,它总是可访问的,因此当前在请求之外访问app_globals的唯一方法是使用tg.config。