1


有没有人遇到过像我这样的问题?我已经在https://jameswiki.herokuapp.com
将 TiddlyWiki5 作为应用程序部署到 heroku 。它在运行时按预期显示和工作。但是,在服务器(web dyno)睡眠和唤醒(通常在 1 小时不活动之后)之后,一切都清楚了。 在创建新的 Tiddle 时,我在 heroku 中检查了我的控制台,它仍然说新的 Tiddle 已保存,但实际上,没有新的 tiddle 保存到 Tiddlers 文件夹。下面是我安装和运行它的脚本:

在 Package.json 中

{
    ...
    "scripts": {    
        "start": "tiddlywiki . --server",    
        "postinstall": "npm install -g tiddlywiki" 
    }   
}

在 Procfile 中

web: tiddlywiki . --server $PORT $:/core/save/all text/plain text/html "" "" 0.0.0.0

帮我解决这个问题。谢谢。

4

1 回答 1

1

Heroku 的文件系统是短暂的——它只在 dyno 存在时才存在。当测功机重新启动或结束时(就像应用程序进入睡眠状态时一样),新的将有一个新的、空的文件系统。如果您希望文件持久保存,则需要将它们保存到数据库或 Amazon S3 之类的地方以进行长期存储。

https://devcenter.heroku.com/articles/dynos#isolation-and-security

每个 dyno 都有自己的临时文件系统,以及最近部署的代码的新副本。在 dyno 的生命周期中,它的运行进程可以将文件系统用作临时暂存器,但是任何其他 dyno 中的进程都看不到写入的文件,并且在停止或重新启动 dyno 时,任何写入的文件都将被丢弃。例如,任何时候由于应用程序部署而更换测功机时都会发生这种情况,并且作为正常测功机管理的一部分,大约每天一次。

于 2016-01-16T00:39:40.163 回答