所以现在我有一个全局计数器变量。并且每当发送消息时它都会更新。在本地运行我的程序我没有任何古怪,但在heroku上,如果我重新加载页面,有时变量只会碰到零。重新加载它,它回到一个数字。
我不知道为什么会这样。它只发生在heroku上。我究竟做错了什么?有更好的方法吗?
https://github.com/sharkwheels/sendCatsWeb/blob/master/app.py
谢谢!
答案 0 :(得分:0)
您的counter
变量仅在内存中运行。
这意味着如果您的Python进程停止运行(重新启动,崩溃等等) - 下次此Web服务器启动时,该计数器将重置为0
(默认值)。
当您在Heroku上运行任何程序时,它们将经常重启。这是随机发生的,原因有很多:
这种事情可能有很多原因。
无论如何 - 你永远不应期望Heroku能够持续运行你的webapp。始终期望重新启动您的流程。这是Web开发社区的最佳实践。
理想情况下,您的应用程序应该具有以下功能:
这样,无论您的Web应用程序重新启动的频率如何,您的数据都不会丢失。