13

s3boto の S3BotoStorage を静的ファイルのバックエンドとして使用し、./manage.py collectstatic を使用してファイルを aws s3 バケット (ステージングおよび本番) に同期しています。それは正常に動作します。ただし、痛々しいほど遅いです。私自身の静的ファイル (ほんの一部) と django 管理者に加えて、多くの静的ファイル (grappelli、django-redactor) を含むいくつかのサードパーティ パッケージがあります。また、インターネット接続によっては、collectstatic を実行するたびに15 分以上かかる場合があります。たとえば、ステージング バケットと同期しているときに状況が正しくなく、何かを微調整して再同期する必要がある場合は、非常に時間がかかります。静的ファイルを s3 に同期するための、高速でスクリプト可能な優れた代替手段はありますか?

4

2 に答える 2

47

リモート ファイルの ETag をキャッシュし、毎回ルックアップを実行する代わりに、キャッシュされたチェックサムを比較する、djangosnippet に基づくプラグ可能な Django アプリを作成しました。manage.py collectstatic数百の静的ファイルの呼び出しごとに、約 1 分 30 秒から約 10 秒かかりました。ここで確認してください: https://github.com/antonagestam/collectfast

于 2013-07-08T13:57:14.567 に答える
6

設定AWS_PRELOAD_METADATAで にTrue設定すると、同期する前に s3 上のすべてのファイルがプリロードされ、まだ存在しない (または変更された) ファイルのみが同期されます。

于 2013-05-29T14:28:00.667 に答える