在heroku上保存文件更改

时间:2016-12-22 19:47:38

标签: javascript node.js heroku

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

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

有没有办法保存应用程序对其进行的文件更改? 如果你知道一种更好的方法来做我想做的事情?

1 个答案:

答案 0 :(得分:1)

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

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

我意识到,即使是像你在这里所做的那样简单的用例,你也必须做这些额外的事情,但是Heroku的平台面向执行最佳实践,以帮助人们构建可扩展,可靠的软件。 / p>

如果您正在寻找一种方法来做这样的事情而不会有额外的麻烦,您可能会考虑从另一家公司购买一台小型VPS服务器,您可以直接控制进程,磁盘等。