我上传了一个应用程序到Google App Engine,它将连接到另一个网站的REST服务,比如mydomain.com。
在前2个请求中,响应是正确的。但是,自第3次请求以来,响应始终与第2次请求相同。即使mydomain.com的REST结果有一些变化。
我检查了日志,发现我的Python模块似乎没有被撤销。响应来自缓存。我检查了一些材料。放置" no-cache"在响应标头或关闭NDB缓存没有帮助。但同样的事情发生了。
有谁知道如何关闭缓存?或者我需要在Python模块中添加一些代码,以便我的模块处理每个请求。
非常感谢!
我使用的代码如下。 print "Start ..."
仅在前2个请求中执行。从第3个请求开始,print "Start ..."
永远不会被执行。
class ReportServerHandlerJson(webapp2.RequestHandler):
def post(self):
print "Start ..."
self.response.headers['Content-Type']='application/json'
self.response.headers['Cache-Control']='no-cache,max-age=0'
self.response.headers['Pragma']='no-cache'
self.response.headers['Expires']='0'
# fetch data via Rpt class method
result=Rpt.GetResult()
....
更新
我想我找到了一些线索。似乎我通过Python请求模块发送的响应被缓存。我不确定它是由Python请求模块本身还是GAE缓存的。
仍在调查中。