如何执行长时间请求
我正在做一个图形界面(gui)或者仪表盘的项目,用户可以通过这个界面输入信息。当用户点击提交按钮后,我会收集他们的反馈,然后在后台启动一个任务。
我希望实现的效果是:当用户点击提交时,后台的长时间任务正在处理的时候,我能显示一条消息,比如:“您的任务已成功提交”。然后等这个任务完成后,我再刷新页面,把用户带到新的页面。
这是我在route.py文件中的一段代码:
@app.route('/',methods=['POST'])
def get_data():
data = request.form
for data_tuple in data:
requests_to_gb[data_tuple] = data[data_tuple]
flag = execute_request(requests_to_gb) <---Fires a job
if flag:
flash("Your request has been submitted")
else:
flash("request could not be completed!")
return render_template('request_submitted.html')
但是问题是,我执行请求的那一行代码(execute_request())处理起来很慢,所有的操作都会在这期间暂停,直到它完成。这种情况下我该怎么处理呢?还有,怎么才能自动刷新到新页面呢?