javascript - 在 heroku 上保存文件更改

标签 javascript node.js heroku

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

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

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

最佳答案

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

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

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

如果您正在寻找一种无需额外麻烦即可完成此类任务的方法,您可能需要考虑从另一家公司购买一台小型 VPS 服务器,这样您可以直接控制进程、磁盘等。

关于javascript - 在 heroku 上保存文件更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41290650/

相关文章:

javascript - es6 箭头函数在转译为 javascript 后无法识别此运算符

node.js - jsreport 的 npm 安装失败

javascript - 切换到 Mongoose ,我不应该使用请求客户端吗?

javascript - 如何让我的上一个/下一个链接将我发送到页面顶部?

javascript - 是否无法在 JavaScript 工作表中使用 <a href.. 等 HTML?

node.js - 如何预热 Heroku Node.js 服务器?

java - Heroku - 如何修复 "cannot load such file -- foreman/cli (LoadError)"? - [Java、Windows、Ruby-on-rails]

ruby-on-rails - 使用Elasticsearch,盆景将Rails应用程序部署到Heroku

javascript - css 定位 我在定位时遇到问题

java - 如何使用 Nodejs 运行 java 命令