2

ますます頻繁になっているようですが、私は古いコードを実行しているpycファイルに少し悩まされています。

これにより、展開スクリプトが毎回* .pycをスクラブするようになりました。そうしないと、展開が有効にならないようです。

長時間実行されているWSGIアプリケーションのpycファイルにはどのようなメリットがありますか(ある場合)。私の知る限り、唯一の利点は起動時間の改善ですが、それがそれほど重要であるとは想像できません。たとえそうであったとしても、新しいコードがデプロイされるたびに、とにかく古いpycファイルを実際に使用することはできません。

これにより、ベストプラクティスは、PYTHONDONTWRITEBYTECODE環境変数を設定してWSGIアプリケーションを実行することだと思います。

私は間違っていますか?

4

1 に答える 1

7

デプロイを行うための最良の戦略は、デプロイされたファイルを新しいディレクトリに書き込み、シンボリックリンクなどを使用して1回の変更でコードベースを交換することです。.pycこれには、古いファイルを自動的にクリアするという副次的な利点もあります。

そうすることで、クリーンなデプロイメントとアトミックなデプロイメント、そして.pycWebアプリを再起動する必要がある場合のキャッシュという両方の長所を活用できます。

最後のデプロイメントディレクトリを保持している場合N(日付/時刻で名前を付けると便利です)、以前にデプロイされたバージョンのコードに「ロールバック」する簡単な方法もあります。複数のサーバーマシンがある場合は、すべてのマシンにデプロイすることもできますが、すべてのマシンが新しいコードを取得するまで、それらを切り替えるのを待ちます。

于 2012-10-26T06:16:29.153 に答える