【问题标题】:Save file change on heroku在heroku上保存文件更改
【发布时间】:2021-06-05 23:05:34
【问题描述】:

我在 heroku 上有一个 node.js 应用程序,它会检查电子邮件,然后如果电子邮件与特定的 cliteria 匹配,它会回复。

因为 heroku 每隔一段时间就会重新启动测功机,所以我制作了一个文件来保存我已经作弊的电子邮件(一个小数组)的 id(所以它不会对同一封电子邮件回复两次),但我很傻, heroku 也会重新启动该文件,因此我所做的任何更改都不会被保存。

有没有办法保存应用程序对其所做的文件更改? 如果您知道更好的方法来做我想做的事?

【问题讨论】:

标签: javascript node.js heroku


【解决方案1】:

Heroku 强制执行此行为(本地文件删除内容),因为它是最佳实践。在本地写入文件不能很好地扩展,并且当您在同一个 VM 上有多个进程都执行文件 I/O 操作时,可能会导致一些奇怪的边缘情况行为。

您应该使用数据库、缓存(如 Redis),甚至直接将文件写入文件存储服务,如 Amazon S3。

我意识到,即使对于像你在这​​里所做的那样简单的用例,你也必须做这些额外的事情听起来很烦人——但 Heroku 的平台旨在强制执行最佳实践,以帮助人们构建可扩展、可靠的软件。

如果您正在寻找一种无需额外麻烦的方式来执行此类操作,您可能需要考虑从另一家公司购买小型 VPS 服务器,您可以直接控制进程、磁盘等。

【讨论】:

    猜你喜欢
    • 2020-08-08
    • 1970-01-01
    • 1970-01-01
    • 2017-09-03
    • 2011-10-26
    • 2010-11-20
    • 1970-01-01
    • 2021-09-24
    相关资源
    最近更新 更多