首页 > 解决方案 > 烧瓶后台任务的并发(多用户)进程?

问题描述

我有一个简单的 python 工具托管在 ubuntu Linux 服务器上(HTML Form + Flask + Python 代码);

阶段:从 HTML 表单获取数据到后端并由 python 代码处理,然后返回结果。

用户界面(HTML 表单) ->> Flask ->> Python 脚本处理 ->> 返回结果。

问题是处理需要一些时间,如果两个用户打开工具页面并尝试同时或在第一个用户完成之前提交数据,该工具将失败并引发错误 500。我认为所有用户共享相同的 python 脚本进程. 如果他们一起使用工具,脚本会被最后一次提交打断。

如何使该工具为每个用户提交启动不同的流程?

这只是为了简单说明:

HTML:

<form method="POST" name="basic_form">
<input type="text" name="some_data" required>
</form>

Python:

@app.route('/tool', methods=['GET','POST'])
def processing ():
    required_input = request.form['some_data']
    result = *some processing functions*
    return render_template('result.html',result=result)

标签: pythonflaskconcurrencymultiprocessingwsgi

解决方案


推荐阅读