我有一个非常简单的应用程序在appengine上运行,每隔五分钟就会请求一个网页并解析一段特定的数据。
除了我从外部请求(使用urllib2)返回的响应不反映页面的最新更改外,一切正常。有时需要几分钟才能获得最新信息,有时需要一个多小时。
是否有一个透明的缓存层,即appengine到位?或者还有其他我在这里缺少的东西?我查看了所请求页面的缓存标题,并且没有发送Expires,LastModified或ETags标头。
更新 有时候,它会为一些请求获取新版本的页面,然后随机获得旧的过时版本。
答案 0 :(得分:8)
这似乎是App Engine team is aware of的一个问题。建议的解决方法是使用max-age以秒为单位设置Cache-Control标头:
result = urlfetch.fetch(url, headers = {'Cache-Control' : 'max-age=240'})
希望能帮到你。