Module_a中的代码:
varA=10
class ClassX:
def fn1():
return varAFlask_api中的代码:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
import module_a # or from module_a import varA
module_a.varA += 1 # or varA+=1
return module_a.varA当在开发服务器上运行时,可能有一个进程和一个线程处理所有请求。但是,在生产环境中,由于每个flask端点调用都可以在新进程或新线程中启动,因此,我很想知道是否有什么需要注意的地方?
例如:它不是进程安全和线程安全的。
此外,在函数中进行导入与在外部进行导入也有区别。
发布于 2019-11-07 17:12:49
在函数内部而不是在顶层进行导入的原因通常是:
就一般性能和线程而言,这并不重要:只要您第一次(从任何地方)导入一个模块,它就会被添加到sys.modules中。因此,任何进一步的导入都只会从那里返回条目,而不是再次执行实际的导入。
https://stackoverflow.com/questions/58742849
复制相似问题