我有一个脚本,刚刚将其转换为flask应用程序。该脚本位于python3中,超过1200行,因此我无法在此处发布。该脚本的作用是通过线程访问多个服务器(超过100个)。然后通过电子表格将数据返回给用户。当我有多个用户同时使用此脚本时,电子表格将包含他们的数据以及在2分钟左右的时间内运行的其他数据。
我的问题是,由于我的数据字典是全局的,是否会发生这种情况?
示例代码:FLASK APP
import flask
@app.route('/')
#user imports form data
formdata
from server_script import MAIN_FUNCTION
#I then call the function from the other script and send the form data to it
send spreadsheet to user
示例代码:SERVER APP
import xxx
DATA_DIC_1={}
DATA_DIC_2={}
def WORK_FUNCTION_1(var1,var2,var3)
do things - add to DATA_DIC_1
def WORK_FUNCTION_2(var1,var2,va3,var4)
do things - add to DATA_DICT_2
def MAIN_FUNCTION
take data from flask APP
WORK_FUNCTION_1(var1,var2,var3)
WORK_FUNCTION_2(var1,var2,var3,var4)
using data from DATA_DIC_1 and DATA_DIC_2 create spreadsheet
return spreadsheet to flask app
我认为问题在于两个DATA_DIC不在MAIN_FUNCTION下,而MAIN_FUNCTION调用其他函数导致数据在当前并发用户之间共享。
我知道这没什么大不了的,但是有人同意这项评估吗?我是Flask的新手,因为我通常是一个设置CRON作业的后端人员,而并非这样。只要人们不同时运行该应用程序,它就可以正常运行。
如果我将DATA_DIC添加到MAIN_FUNCTION,可以解决此问题吗?我回到家后就想到了这一点。。。所以我无法测试,只想要第二点意见。
编辑: 所以我需要添加g.flask或多处理管理器吗,我看不到它与其他链接的问题如何直接相关。