我想知道Tornado中是否有类似HttpContext.Current.Server.Execute
的内容,可以在一个请求中轻松地共享协同例程之间的上下文。或者,我可以只使用请求处理程序对象作为上下文,但我怎样才能获得当前的那个?
答案 0 :(得分:3)
龙卷风不提供与flask.g
相当的效果。像线程局部变量这样的东西在异步框架中不能正常工作,因为一切都在同一个线程上运行。
可以使用StackContext
构建类似于线程局部变量的东西,但不鼓励这样做,因为它有很大的开销,而某些第三方库不能正确传播堆栈上下文。在大多数情况下,我建议明确地将您需要的信息传递给需要它的地方,而不是引入这种魔法。但是,如果您认为这是适合您情况的最佳解决方案,请参阅https://github.com/viewfinderco/viewfinder/blob/master/backend/base/context_local.py以获取示例。