django的更快的收集静态(有时)

collectstupid的Python项目详细描述


#收集愚蠢-一个更快、更聪明、更愚蠢的django收集静态信息

当在远程文件系统(如amazon s3)中使用collectstatic时,通常可以 由于每个文件最多需要3个远程操作,因此速度会减慢。

  1. 确定文件时间戳
  2. 删除旧文件
  3. 复制新文件

collectsupid使用两个技巧加快静态文件部署速度

  1. 愚蠢的一个:从不检查远程文件的时间戳,也从不删除 旧文件。它只是盲目地覆盖文件。这节省了两个遥控器 操作。
  2. 智能方法:在远程文件中存储已部署文件md5sums的列表 系统。这将跟踪需要部署的文件和md5sums 仅在源计算速度。这比其他的要快 collectStatic库经常使用本地缓存,因此 开发人员不会从上次部署中受益。还有部署跟踪 更为永久,除非显式地 需要清理一下。

##安装和使用

pip安装collectsupid

collectStupid添加到installed\u应用程序

运行:python manage.py collectsupid

γ-混炼<

一些存储实现在存储上执行一个^ {EM1} $ 和^ {EM1}$ $删除eEM> 使用CollectStupid时也可以初始化。您可以添加 {STR 1 } $CoptTrime.Sturtual.StudioSturaGigMIXIN 向存储类跳过 那些要求。

##collectsupid提高了部署速度的个人示例

对于一个项目,无论何时部署,都会使用大量的内存(+13GB) 整个过程花了30多分钟在一个快速的Mac上,2个多小时 在虚拟机上。通过调查,我们发现 是否存在文件导致桶执行完全文件列表,因为 非常低效的s3存储实现。我们实现了 在最初部署大型文件之后,随后的部署减少到 超过5分钟。相比之下,这还可以将内存使用量减少到几乎为零 到13GB。

##设置

愚蠢的部署缓存:md5sums存储在远程文件系统上的文件

默认值:collectsupid-cache.json

##功能请求

请随意打开问题

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java变量始终存储0值。为什么?   如何使用Java/REST将Azure blob从一个存储容器移动到另一个存储容器?   java将commons DBCP从1.2升级到1.4,我应该害怕吗?   java如何使用分隔符拆分字符串?   java使用数组读取json对象   java在groovy中切片字符串   交换数组java的两个邻域元素   java移动用于确定字符串是否为回文的逻辑   java Android应用程序在一个活动中崩溃   java Sparkjava将webapp文件夹设置为静态资源/模板的文件夹   java复杂条件表达式,用户易用。   java如何仅在表存在时从表中选择值   java I无法将数据从Recyclerview传递到其他活动   java数据结构最佳设计(大数据)   java Android从DatePickerDialogFragment中删除日历视图   java将数据从Firebase获取到片段   数组。sort()在java中运行不正常