Parallel file copying for Django's collectstatic.
Project description
This package extends Django’s collectstatic management command with a --faster argument that activates the parallel file copying. The speed improvement is especially helpful for remote storage backends like S3.
Quickstart
Install django-collectfaster:
pip install django-collectfaster
Configure installed apps in your settings.py and make sure collectfaster is listed before django.contrib.staticfiles:
INSTALLED_APPS = ( ..., 'collectfaster', 'django.contrib.staticfiles', 'storages', ..., )
If you are using S3 with django-storages you probably already have this configured in your settings.py:
AWS_S3_HOST = 's3-eu-west-1.amazonaws.com' AWS_STORAGE_BUCKET_NAME = '<your_aws_bucket_name>'
Set the storage backends for your static and media files in the settings.py:
STATICFILES_STORAGE = 'collectfaster.backends.boto.S3StaticStorage' DEFAULT_FILE_STORAGE = 'collectfaster.backends.boto.S3MediaStorage' # STATICFILES_STORAGE = 'collectfaster.backends.boto3.S3Boto3StaticStorage' # DEFAULT_FILE_STORAGE = 'collectfaster.backends.boto3.S3Boto3MediaStorage'
You should split your static and media files on your S3 in different folders and configure it in the settings.py:
STATICFILES_LOCATION = 'static' MEDIAFILES_LOCATION = 'media'
Set the STATIC_URL at least on your production settings:
STATIC_URL = 'https://%s/%s/%s/' % (AWS_S3_HOST, AWS_STORAGE_BUCKET_NAME, STATICFILES_LOCATION)
Usage
Collect your static files parallel:
python manage.py collectstatic --faster
Set the amount of workers to 30:
python manage.py collectstatic --faster --workers=30
Spawn workers using multiprocessing instead of gevent:
python manage.py collectstatic --faster --use-multiprocessing
Credits
Tools used in rendering this package:
History
0.1.2 (2017-04-07)
Add support for boto3 and multiprocessing instead of gevent
Moved backends to a submodule (please change your setting variables STATICFILES_STORAGE and DEFAULT_FILE_STORAGE)
0.1.1 (2016-08-08)
Rather use django-storages than the deprecated fork from django-storages-redux.
0.1.0 (2016-05-19)
First release on PyPI.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file django-collectfaster-0.1.2.tar.gz
.
File metadata
- Download URL: django-collectfaster-0.1.2.tar.gz
- Upload date:
- Size: 7.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2cc253e1dec8e7eac1549d6d4f9fe85bf4db4d22785399b5cf007679e07daddd |
|
MD5 | 86881f3a1e5f2efd246ad3d069cbda84 |
|
BLAKE2b-256 | d0939114553820f273d23212ffaa26550357608ce5b4a86944cd519b36528d05 |