【问题标题】:flask + gunicorn, make a redirect stick to the same worker threadflask + gunicorn,重定向到同一个工作线程
【发布时间】:2014-08-21 23:05:57
【问题描述】:

有一个问题,我有一个由 gunicorn 运行的烧瓶应用程序和多个工作人员,因为单个请求可能需要 30 分钟 +...我有多个工作人员,所以我可以同时处理多个这些长请求。

我有一个问题,我有一个帖子,我在帖子中设置变量,然后我重定向到另一个页面来运行 30 分钟的请求。

问题是我注意到当重定向由不同的工作人员提供服务时,它没有记忆我在另一个工作人员中设置的变量。

想到的解决方案是将重定向保留在同一个工作人员中,但我不确定这是否可以完成。

关于如何解决这个问题的任何建议?

谢谢!

【问题讨论】:

  • 你确定这是你想要的吗?你为什么不通过这个消息队列或其他东西。在视图之间传递数据只能通过客户端 cookie、会话或通过在 URL 中传递来实现。此外,一个 30 分钟长的过程似乎对加载页面来说太长了。消息队列可能是一个不错的选择

标签: python flask gunicorn


【解决方案1】:

当您将用户重定向到不同的页面时,您可以在 GET 请求中传递相关参数。像这样:

@app.route('/first', methods=['POST'])
def first():
    var = request.form['variable']
    return redirect(url_for('second', variable=var))


@app.route('/second', methods=['GET'])
def second():
    var = request.args['variable']

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-20
    • 2020-12-08
    • 2022-12-11
    • 2016-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-20
    相关资源
    最近更新 更多