我在Python上使用谷歌应用引擎 我的很多用户都获得了返回代码204(我可以在Stackdriver日志中看到)
它是同一页面(返回来自数据存储区的json),并且由于某种原因,有时候它会返回204(没有内容),即使有有效内容也是如此。
我试过......抓住我的get方法,它们永远不会被触发。 我有一些记录行,例如:logging.info(你正好在方法的乞讨中') 当返回码为204时,它们不会打印出来。
我在日志查看器中获得了这种条目:
179.236.114.131 - - [04 / Jan / 2017:03:26:50 +0000]" GET / querywg?date = 2017-01-04& categoria = filme& app_type = free HTTP / 1.1& #34; 204 117847 - " okhttp / 3.4.1" " gtvbrapp.guiatvbr.com.br" ms = 19 cpu_ms = 0 cpm_usd = 0.000013170428 loading_request = 0 instance = - app_engine_release = 1.9.48 trace_id = 4c71730e72178c723437b2f196f44166
所有人都有instance=-
而不是长号。
有什么想法吗?
get()方法(和依赖项):
def getAllOperadoras(self):
ret = []
operadoras_query = OperadorasList.query().order(-OperadorasList.lastupdate).fetch(1)
for ops in operadoras_query:
return ops.listaOperadoras
return '[]'
def getOperadora(self, id):
operadora = Operadoras.get_by_id(id)
if(operadora):
return operadora.canaisJson
return '[]'
def get(self):
idOperadora = self.request.get('id')
ret = ''
if(idOperadora):
ret = self.getOperadora(idOperadora)
else:
ret = self.getAllOperadoras()
self.response.headers['Cache-Control'] = "public, max-age=%d" % constants.CACHE_CONTROL_SIZE
self.response.headers['Content-Type'] = 'application/json; charset=utf-8'
self.response.out.write(ret)
app.yaml:
application: some-invented-id
version: 7
runtime: python27
api_version: 1
instance_class: F2
threadsafe: true
env_variables:
handlers:
- url: /images
static_dir: images
- url: /css
static_dir: css
- url: /js
static_dir: js
- url: /font
static_dir: font
- url: /data
static_dir: data
mime_type: application/json
# Endpoints handler
- url: /_ah/spi/.*
script: services.APPLICATION
- url: /robots.txt
static_files: 1
upload: robots.txt
- url: /.*
script: mainpage.app
secure: optional
builtins:
- deferred: on
- appstats: on
- remote_api: on
libraries:
- name: webapp2
version: latest
- name: jinja2
version: latest
- name: pycrypto
version: latest
- name: endpoints
version: 1.0
答案 0 :(得分:2)
204表示您的文件由Google Edge缓存缓存和处理,如果您不希望缓存此资源,请设置http标头cache-control: no-cache