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" 
    }   
}

プロファイル内

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

この問題を解決するのを手伝ってください。ありがとう。

4

1 に答える 1

1

Heroku のファイルシステムは一時的なものであり、その dyno が存在する間だけ存在します。dyno が再起動または終了すると (アプリがスリープ状態になるときと同様)、新しい空のファイルシステムが新しいものになります。ファイルを保持したい場合は、長期保存のためにデータベースや Amazon S3 などにファイルを保存する必要があります。

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

各 dyno は、最近デプロイされたコードの新しいコピーを含む独自の一時的なファイルシステムを取得します。dyno の存続期間中、実行中のプロセスはファイルシステムを一時的なスクラッチパッドとして使用できますが、書き込まれたファイルは他の dyno のプロセスからは見えず、書き込まれたファイルは dyno が停止または再起動された瞬間に破棄されます。たとえば、これは、アプリケーションの展開のために dyno が交換されるたびに発生し、通常の dyno 管理の一環として 1 日に約 1 回発生します。

于 2016-01-16T00:39:40.163 に答える