我想创建一个响应模式的 pydantic 类,在其中存储信息,并且从多个脚本捕获该信息到该对象,为此我想创建一个全局
utils.py
文件来存储该对象,我可以简单地将其导入其他脚本中。
问题是,由于它是一个全局对象,因此它在各种 python 对象之间共享,但我不希望它被共享。它对于每个请求都必须是唯一的,并且将从中间件本身开始使用该对象。
如果您需要为每个请求创建一个新的对象实例,那么您需要在
utils.py
中做的是提供一个创建对象的函数,而不是在那里实际创建对象。
您可能在
utils.py
中有这样的代码:
my_class_object = MyClass() # or whatever you need to do to create and initialize it
相反,提供这样的函数:
def get_my_class_object():
return MyClass() # or whatever
然后在您的请求代码中,不要执行
from utils import my_class_object
,而是执行 from utils import get_my_class_object
并为每个请求调用 my_class_object = get_my_class_object()
。