擅长:python、mysql、java
<p>你试过<code>flush_all()</code>函数吗?<a href="http://code.google.com/appengine/docs/python/memcache/functions.html" rel="noreferrer">Docs here</a>。您将需要一点逻辑状态来检测新的部署,或者需要一个特殊的脚本来执行刷新。</p>
<p><strong>已更新</strong>:查看其中一个脚本的绝对路径:每次部署时都会更改此路径。您可以使用<a href="http://shell.appspot.com/" rel="noreferrer">http://shell.appspot.com/</a>进行实验:</p>
<pre><code> import sys
sys.path
</code></pre>
<blockquote>
<p>['/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/versions/1',
'/base/data/home/apps/shell/1.335852500710379686/']</p>
</blockquote>
<p>查看带有<em>/shell/1.335852500710379686/</em>的行。</p>
<p>所以,只需保留这个部署状态变量的快照(在memcache中;-)并进行比较,就可以执行刷新操作。</p>
<p><strong>更新2</strong>:根据@Koen Bok的建议,还可以使用环境变量CURRENT_VERSION_ID</em>(也是脚本文件绝对路径的一部分)。</p>
<pre><code> import os
os.environ["CURRENT_VERSION_ID"]
</code></pre>