Flask-用户之间正在共享数据-BAD

时间:2019-07-17 01:58:26

标签: python flask gunicorn

我有一个脚本,刚刚将其转换为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或多处理管理器吗,我看不到它与其他链接的问题如何直接相关。

0 个答案:

没有答案