flask - 部署在 heroku 上的 Flask 应用程序具有变量,有时在更新后会恢复到以前的状态
问题描述
我对这个令人兴奋的编程世界完全陌生,我希望我没有自己解决这个问题应该归咎于我的经验不足:
问题陈述: 我的应用程序使用烧瓶框架创建,部署在 heroku 上,有变量(存储在烧瓶会话中),有时在更新后会恢复到旧状态,有时它们不会更新。我的假设是这与分布式服务器有关,它为不同状态的变量提供服务。我已经在我的计算机上进行了广泛的本地测试,并且这个问题永远不会弹出,这只发生在部署时。
请问我该如何解决这个问题?我不知道确切的问题可能是什么。我希望我已经正确地提出了这个问题以得到帮助。我将在评论中收到任何反馈,以改进我的问题并获得答案。谢谢。
更多信息: 我开发了一个测验应用程序;对于每个问题,它在后端查询一个数据库,然后将此信息推送到用户选择答案的前端,javascript 降低生命数或增加分数(取决于正确或错误的答案)这个生命和分数信息被传递到后端并存储在“会话”中。我的第一个问题是;生命值和分数值有时不会更新,有时会更新,然后会恢复到以前的状态。我的第二个问题;当生活和分数变量状态不改变时,这些问题有时也会重复。
在此先感谢您的帮助。
解决方案
问题 文件已上传到应用程序,但一段时间后消失或被删除。
分辨率 Heroku 文件系统是短暂的——这意味着在 dyno 运行时对文件系统的任何更改只会持续到该 dyno 关闭或重新启动。每个测功机都使用最新部署的文件系统的干净副本启动。这类似于有多少基于容器的系统(例如 Docker)运行。
此外,在正常操作下,dynos 每天都会在一个称为“循环”的过程中重新启动。
这两个事实意味着 Heroku 上的文件系统不适合持久存储数据。如果您需要存储数据,我们建议使用 Postgres(用于数据)等数据库插件或 AWS S3(用于静态文件)等专用文件存储服务。如果您不想使用 AWS 设置帐户来创建 S3 存储桶,我们这里还有处理静态资产存储和处理的插件
https://help.heroku.com/K1PPS2WM/why-are-my-file-uploads-missing-deleted
推荐阅读
- javascript - 为什么我作为图像包含的视图之间存在差异?
- php - 我如何知道用户点击了哪个图片?
- ios - 如何从给定日期获取下 n 天的日期
- react-native-navigation - 在 react-native-navigation 中设置标签栏图标颜色
- jmeter - Jmeter BackendListener:如何使用运行时变量
- r - 如何在R中的数字之间添加逗号?
- vagrant - 如何修复 vagrant 中的“无法检索镜像列表”错误?
- c - 我可以在 C 中用 NULL 初始化字符串吗
- java - 从全文中检索字符串的一部分
- php - 重力形式 - 基于数据库条目的下拉列表