2017-01-05 8 views
0

私は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 
+0

あなたの 'get()'メソッドを教えてください。 –

+0

また、あなたのapp.yaml?適切なスクリプトがハンドラによって呼び出されていますか? – brendan

+0

getメソッドとapp.yamlを投稿することはできますが、それらは機能します(ダッシュボードでどこを見つけるかわからないため、時間の割合はわかりません)。 – Gusthema

答えて

1

204は、Googleのエッジキャッシュによってキャッシュされ、処理されるファイルを意味し、あなたの場合はドンこのリソースがキャッシュされないようにしてください。httpヘッダーを設定してください。cache-control: no-cache

関連する問題