長時間 (数時間) 実行されるバックグラウンド ジョブがいくつかあります。
これらのバックグラウンド ジョブの実行中にアプリをデプロイした場合、それらのジョブがアタッチされている dyno は再起動されますか (つまり、ジョブが強制終了されますか)?
より具体的には、これらのバックグラウンド ジョブは、大きなファイルのダウンロードを処理します/tmp
。つまり、その dyno が再起動されると、ダウンロードが中断されます。
長時間 (数時間) 実行されるバックグラウンド ジョブがいくつかあります。
これらのバックグラウンド ジョブの実行中にアプリをデプロイした場合、それらのジョブがアタッチされている dyno は再起動されますか (つまり、ジョブが強制終了されますか)?
より具体的には、これらのバックグラウンド ジョブは、大きなファイルのダウンロードを処理します/tmp
。つまり、その dyno が再起動されると、ダウンロードが中断されます。
はい、展開するとDynoが再起動されます。
ただし、さらに重要なことは、/tmp にダウンロードしている場合、展開によって空の /tmp を持つ新しいスラッグが作成されるため、ダウンロードされたものはすべて存在しなくなります。
Dyno はデプロイ時に再起動されます。
また、Heroku によって 1 日 1 回自動的に循環されます。Dyno は、応答を停止したり、停止して別のネットワークの場所に移動したりするたびに、すべて自動的に再起動できます。John が述べたように、これは新しいインスタンスになるため、以前にダウンロードしたファイルはすべて削除されます。
ここでいくつかのケースを見ることができます - https://devcenter.heroku.com/articles/dynos#the-dyno-manager
Heroku でのベスト プラクティスは、Dynos に書き込み可能なファイルを持たないことです。