每次部署网站时,如何让Google App Engine清除内存缓存?
-
您尝试过
flush_all()
功能吗?文档在这里。您将需要一些逻辑和状态来检测新部署,或者具有特殊的脚本来执行刷新。已更新
:查看您的脚本之一的绝对路径:每次部署都会改变。您可以使用http://shell.appspot.com/进行实验:import sys sys.path
[‘/base/python_dist/lib/python25.zip’,’/base/python_lib/versions/third_party/django-0.96’,’/base/python_dist/lib/python2.5/’,’/
base / python_dist / lib /python2.5/plat-
linux2’、’/base/python_dist/lib/python2.5/lib-
tk’、’/base/python_dist/lib/python2.5/lib-
dynload’、’/base/python_lib/版本/1’、’/base/data/home/apps/shell/1.335852500710379686/’]查看带有 /shell/1.335852500710379686/ 的行。
因此,只需保留此部署状态变量的快照(在memcache中;-)并进行比较即可执行刷新操作。
更新2 :@Koen Bok的建议,也可以使用环境变量 CURRENT_VERSION_ID (也是脚本文件绝对路径的一部分)。
import os os.environ["CURRENT_VERSION_ID"]