我有一个在Heroku上运行的机器人。该机器人执行了一些应该执行的“动作”(这些动作是虚拟的,只是测试一切是否正常),然后将执行的所有动作写入文件。
有趣的是,在我的本地计算机上,经过6到8个小时的测试,我有3个条目(执行了3个动作),但是在Heroku上,该机器人已经运行了一天,并且没有条目存在(认为这是Heroku的问题,但是同时使用cat
和stat
,则表明文件为空)。
这是我将数据保存到文件的方式:
f = open('actions.txt', 'a')
f.write(action)
这些是文件(actions.txt
)权限:600
我只想存储机器人在一周左右的时间内执行的操作,以确保一切正常。
答案 0 :(得分:0)
我只想存储机器人在一周左右的时间内所执行的操作,以确保一切运行正常
在这种情况下,您将需要一种不同的数据持久化方法。每次重新启动测功机时,Heroku的ephemeral filesystem都会丢失对它所做的任何更改,这种情况发生在at least once per day。
一个简单的解决方案可能是将数据存储在Heroku supports out of the box的PostgreSQL中。如果您更喜欢其他数据库,则有many to choose from。