WSGI应用程序中的pyc文件有什么好处,每周多次部署?

sta*_*onk 2 python django wsgi pyc

似乎越来越频繁,我有点pyc文件运行过时的代码.

这导致部署脚本每次擦除*.pyc,否则部署似乎不会生效.

我想知道,在长期运行的WSGI应用程序中,pyc文件有什么好处(如果有的话)?据我所知,唯一的好处是改善了启动时间,但我无法想象它的重要性 - 即使它是,每次部署新代码时,你都无法真正使用旧的pyc文件.

这让我觉得最好的做法是运行带有PYTHONDONTWRITEBYTECODE环境变量集的WSGI应用程序.

我错了吗?

Amb*_*ber 7

执行部署的最佳策略是将已部署的文件写入新目录,然后使用符号链接或类似方法在单个更改中交换代码库.这样做的另一个好处是也可以自动清除任何旧.pyc文件.

这样,您可以充分利用这两个方面 - 清洁和原子部署,以及缓存.pyc您的webapp是否需要重新启动.

如果保留最后的N部署目录(按日期/时间命名它们很有用),您还可以轻松地"回滚"到以前部署的代码版本.如果您有多台服务器计算机,您也可以部署到所有计算机,但等待切换它们直到所有计算机都获得新代码.