私はPythonでGoogleアプリケーションエンジンを使用しています 私の多くのユーザーがリターンコード204を取得しています(Stackdriverログに表示されます)Google App Engineが204個を表示し、ログを取得できない
これは同じページ(データストアから来るjsonを返します)であり、何らかの理由で時には有効なコンテンツがあると思っても204(コンテンツなし)を返すことがあります。
私は試してみました...私のgetメソッドをキャッチし、それらは決して誘発されません。 私は次のような行を記録しています:logging.info(方法を尋ねるにはu'right) 戻りコードが204のときは表示されません。
ログビューアには次のようなエントリがあります。
179.236.114.131 - - [04 /月/ 2017:03:26:50 +0000] "GET/querywg日= 2017年1月4日& categoria = filme & APP_TYPE =自由HTTP/1.1?" 204 117847 - "okhttp/3.4.1" "gtvbrapp.guiatvbr.com.br" MS = 19 cpu_ms = 0 cpm_usd = 0.000013170428 loading_request = 0インスタンス= - app_engine_release = 1.9.48 trace_id = 4c71730e72178c723437b2f19 6f44166
これらはすべて、長い番号の代わりに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
あなたの 'get()'メソッドを教えてください。 –
また、あなたのapp.yaml?適切なスクリプトがハンドラによって呼び出されていますか? – brendan
getメソッドとapp.yamlを投稿することはできますが、それらは機能します(ダッシュボードでどこを見つけるかわからないため、時間の割合はわかりません)。 – Gusthema