django的更快的收集静态(有时)
collectstupid的Python项目详细描述
#收集愚蠢-一个更快、更聪明、更愚蠢的django收集静态信息
当在远程文件系统(如amazon s3)中使用collectstatic时,通常可以 由于每个文件最多需要3个远程操作,因此速度会减慢。
- 确定文件时间戳
- 删除旧文件
- 复制新文件
collectsupid使用两个技巧加快静态文件部署速度
- 愚蠢的一个:从不检查远程文件的时间戳,也从不删除 旧文件。它只是盲目地覆盖文件。这节省了两个遥控器 操作。
- 智能方法:在远程文件中存储已部署文件md5sums的列表 系统。这将跟踪需要部署的文件和md5sums 仅在源计算速度。这比其他的要快 collectStatic库经常使用本地缓存,因此 开发人员不会从上次部署中受益。还有部署跟踪 更为永久,除非显式地 需要清理一下。
##安装和使用
pip安装collectsupid
将collectStupid添加到installed\u应用程序
运行:python manage.py collectsupid
γ-混炼<
一些存储实现在存储上执行一个^ {EM1} $
##collectsupid提高了部署速度的个人示例
对于一个项目,无论何时部署,都会使用大量的内存(+13GB) 整个过程花了30多分钟在一个快速的Mac上,2个多小时 在虚拟机上。通过调查,我们发现 是否存在文件导致桶执行完全文件列表,因为 非常低效的s3存储实现。我们实现了 在最初部署大型文件之后,随后的部署减少到 超过5分钟。相比之下,这还可以将内存使用量减少到几乎为零 到13GB。
##设置
愚蠢的部署缓存:md5sums存储在远程文件系统上的文件
默认值:collectsupid-cache.json
##功能请求
请随意打开问题