Heroku dyno没有写入文件

时间:2019-06-24 18:57:52

标签: python heroku

我有一个在Heroku上运行的机器人。该机器人执行了一些应该执行的“动作”(这些动作是虚拟的,只是测试一切是否正常),然后将执行的所有动作写入文件。

有趣的是,在我的本地计算机上,经过6到8个小时的测试,我有3个条目(执行了3个动作),但是在Heroku上,该机器人已经运行了一天,并且没有条目存在(认为这是Heroku的问题,但是同时使用catstat,则表明文件为空)。

这是我将数据保存到文件的方式:

 f = open('actions.txt', 'a')
 f.write(action)

这些是文件(actions.txt)权限:600

我只想存储机器人在一周左右的时间内执行的操作,以确保一切正常。

1 个答案:

答案 0 :(得分:0)

  

我只想存储机器人在一周左右的时间内所执行的操作,以确保一切运行正常

在这种情况下,您将需要一种不同的数据持久化方法。每次重新启动测功机时,Heroku的ephemeral filesystem都会丢失对它所做的任何更改,这种情况发生在at least once per day

一个简单的解决方案可能是将数据存储在Heroku supports out of the box的PostgreSQL中。如果您更喜欢其他数据库,则有many to choose from