python - 如何使用Heroku在状态下部署Dash应用程序?

标签 python docker heroku plotly-dash

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

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

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

Heroku中有没有办法解决这个问题?也许为每个新 session 创建一个新图像?

提前致谢。

最佳答案

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

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

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

关于python - 如何使用Heroku在状态下部署Dash应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61445664/

相关文章:

python - oauth2client.client.ApplicationDefaultCredentialsError

image - Kubernetes 如何从外部存储库拉取镜像?图像存储在哪里?

ruby-on-rails - 同一个应用程序中的 Heroku Delayed Job 和 Sidekiq

python - 使用 matplotlib 绘制地形作为背景

python - 为什么 memcache 在我的 Django 中不起作用?

docker - Nginx 反向代理到主机中的应用程序

docker - 如何在Docker容器中添加文件并使其可从其他容器访问?

javascript - 将 create-react-app 构建版本部署到 Heroku

ruby-on-rails - Net::FTPPermError (500 I won't open a connection to 10.10 ...... (only to 174.12 ......)

python - 队列对象只能通过继承在进程之间共享