【问题标题】:How to deploy dash app with states using Heroku?如何使用 Heroku 部署带有状态的 dash 应用程序?
【发布时间】:2020-04-26 18:10:19
【问题描述】:

所以我成功地使用 Heroku 部署了我的 dash 应用程序。 我的应用程序有许多选项卡并保存每个选项卡的状态。这意味着如果用户在一个选项卡中更改了表格,然后切换到另一个选项卡并返回到该选项卡,则该表格具有与以前相同的内容。

问题是如果用户退出站点然后再次进入,我不希望保存状态。

到目前为止,在开发过程中,我通过运行 python 命令再次运行应用程序来实现这一点,但现在我不能这样做(我使用 Docker 容器启动了应用程序,似乎所有会话之间共享一个图像)。

Heroku 有办法解决这个问题吗?也许为每个新会话创建一个新图像?

提前致谢。

【问题讨论】:

    标签: python docker heroku plotly-dash


    【解决方案1】:

    您创建一个映像来发布您的应用程序(例如 v1.0)并在 Docker 环境(Heroku 或其他平台)上运行它。应用程序在容器中运行并为所有用户提供服务:每次重新启动或重新部署新映像都需要停机时间,这会影响到所有人。

    解决方案(据我所知)是您要清除给定用户的会话数据,因此下次访问时不会使用保存的状态。
    我认为您应该考虑在您的应用程序中执行此操作:例如,当访问主 URL(即您的应用程序的入口点)时,清除与用户相关的任何设置(您通常会通过 cookie 识别)。

    如果有帮助就不要,如果没有,请分享有关如何保存用户状态的更多详细信息。

    【讨论】:

    • 我将用户状态保存在用于此目的的特定类中。您建议的问题是当多个用户访问该应用时状态不一致,您怎么看?
    • 如何区分不同的用户?
    • 现在我没有
    • 如果你只有一个用户,那么你需要在用户访问主页时清除状态(重置类中的数据),这样他/她就会得到一个干净的状态。
    • 如果有多个用户可以同时访问该应用程序?
    猜你喜欢
    • 2021-04-15
    • 2022-09-28
    • 2018-11-23
    • 2022-07-02
    • 2021-09-03
    • 1970-01-01
    • 2020-12-07
    • 2017-02-27
    • 1970-01-01
    相关资源
    最近更新 更多