如何在使用Flask执行后台任务之前渲染页面优先?

时间:2018-01-20 23:32:32

标签: flask

我想用烧瓶训练我的深度学习模型。我已经可以通过命令行训练它们了,但我认为用一个好的UI训练它们会很好。

我设法创建了这样一个培训师,但我确实遇到了一些问题。

@app.route('/train', methods=['POST'])
def train():
    architecture = get('architecture', str)
    network = get_architecture(architecture)
    network.train(...) # slow down happens here
    return render_template("begin_training.html")

我想首先渲染页面以显示用户在开始培训之前给出的参数,但我不知道该怎么做。如果我保持这种方式,我将不得不等待培训在页面呈现之前完成。是否可以在执行培训之前首先呈现页面?或者我如何将培训作为后台任务执行?

1 个答案:

答案 0 :(得分:1)

慢速任务应该在后台执行。有几种方法可以做到这一点。其中一个使用celery,Flask文档中也记录了这一点:http://flask.pocoo.org/docs/0.12/patterns/celery/