【问题标题】:Heroku dyno not writing to fileHeroku dyno 不写入文件
【发布时间】:2019-06-24 18:57:52
【问题描述】:

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

有趣的是,在我的本地机器上,经过 6-8 小时的测试,我有 3 个条目(执行了 3 个操作),但是在 Heroku 上,机器人已经运行了一天,并且没有条目存在(想这是 Heroku 的问题,但 cat 和 stat 都显示文件为空)。

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

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

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

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

【问题讨论】:

  • 你打算用这个文件做什么?你知道Heroku's ephemeral filesystem吗?
  • 哦。我没有意识到这一点。我只是想存储机器人在一周左右执行的操作,以确保一切正常。

标签: python heroku


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2021-06-03
    • 2011-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-03
    • 2015-09-16
    相关资源
    最近更新 更多